使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 如何在阿里云服务网格ASM中开启Knative on ASM功能, 并结合ACK或者ASK部署管理Serverless应用服务。

本文主要为您介绍如何使用Knative on ASM创建Knative服务。

本系列文章包括以下部分:

使用ASM管理Knative服务(1):Knative on ASM概述

使用ASM管理Knative服务(2):使用Knative on ASM部署Serverless应用

使用ASM管理Knative服务(3):在Knative on ASM中使用自定义域名

使用ASM管理Knative服务(4):使用ASM网关实现HTTPS访问Knative服务

使用ASM管理Knative服务(5):在Knative on ASM中基于流量灰度发布服务

使用ASM管理Knative服务(6):基于流量请求数实现服务自动扩缩容

前提条件

  • 创建至少一个ASM实例,且版本≥v1.16。添加至少一个ACK集群或ASK集群到该实例中。详情请参见创建ASM实例添加集群到ASM实例
  • 部署Knative Serving组件:

    • 如果是ACK集群,关于部署Knative具体操作,请参见部署Knative
    • 如果是ASK集群,关于部署Knative具体操作,请参见开启Knative
  • 为集群添加入口网关。本实例使用ASM入口网关作为集群网关,详情请参见添加入口网关服务
ASM网关为Knative提供了Knative Revisions流量分发,支持gRPC服务、超时和重试、TLS证书和外部认证授权等功能。具体可以参见 https://help.aliyun.com/document_detail/473114.html

开启Knative on ASM功能

登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理。
在网格管理页面,单击目标实例名称,然后在左侧导航栏,选择生态集成 > Knative on ASM,在右侧的页面中点击启用按钮, 稍后更新完毕之后即可开启。
image.png

部署Knative服务

可以通过容器服务管理控制台YAML配置文件两种方式部署Knative服务,您可以任意选择一种适合您的方式。

方式一:通过容器服务管理控制台部署

  1. 登录容器服务管理控制台,在左侧导航栏中选择集群
  2. 集群列表页面中,单击目标集群名称,然后在左侧导航栏中,选择应用 > Knative
  3. 服务管理页签单击右上角的创建服务,配置相关信息,然后单击创建
参数 说明
命名空间 选择该服务所属的命名空间。
服务名称 自定义该服务的名称。
镜像名称 您可以单击选择镜像,在弹出的对话框中选择所需的镜像并单击确定。您还可以填写私有registry。填写的格式为domainname/namespace/imagename:tag。本例中为registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go。
镜像版本 您可以单击选择镜像版本。本例中为73fbdd56。
访问协议 支持HTTPgRPC两种访问协议。
容器端口 设置暴露的容器访问端口,端口号必须介于1~65535。
仅内部访问 选中仅内部访问后,不支持通过公网访问该服务。
请求最大并发数 容器允许的最大请求并发数。默认0,表示不限制并发数。
最小缩容实例数 在无访问请求的情况下,最小缩容的运行实例数。设置为0时,表示没有访问请求时,实例缩为0。
最大扩容实例数 允许扩容出来的最多实例个数。
资源限制 可指定该应用所能使用的资源上限,包括CPU、内存和GPU三种资源,防止占用过多资源。其中,CPU资源的单位为cores,即一个核;内存的单位为Bytes,可以为MiB。
生命周期 包含命令(Command)和参数(Args),配置说明如下:- 如果均不配置,则使用镜像默认的命令和参数。 - 如果仅配置参数,则使用镜像默认的命令及新配置的参数。- 如果均配置,则会覆盖镜像默认的配置。
环境变量 支持通过键值对的形式配置环境变量。
数据卷 支持增加本地存储和云存储声明(PVC)。- 本地存储:支持主机目录(hostpath)、配置项(configmap)、保密字典(secret)和临时目录,将对应的挂载源挂载到容器路径中。更多信息参见volumes。. - 云存储声明(PVC):支持云存储。

说明 创建完成后,您可以在服务管理页签对服务进行查看、编辑或删除操作。

方式二:通过YAML配置文件部署

  1. 将以下内容保存为hello.yaml
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: helloworld-go
  annotations:
    knative.k8s.alibabacloud/tls: "false" 
spec:
  template:
    spec:
      containers:
        - image: registry.cn-hangzhou.aliyuncs.com/acs/helloworld-go:160e4dc8
          ports:
            - containerPort: 8080
          env:
            - name: TARGET
              value: "Knative"
  1. 使用kubectl连接到集群,执行以下命令创建Knative Service
kubectl apply -f hello.yaml
  1. 等待一段时间后,执行以下命令,查看Knative服务列表
kubectl get ksvc

预期输出:

NAME            URL                                        LATESTCREATED         LATESTREADY           READY   REASON
helloworld-go   http://helloworld-go.default.example.com   helloworld-go-00001   helloworld-go-00001   True

访问服务

Knative服务创建完成后,通过绑定Host域名与访问网关,可以直接访问服务地址。操作步骤如下:

  1. 服务管理页签,单击服务名称或右侧操作栏下的详情按钮进入Knative服务详情页面。您可以在Knative服务详情页的基本信息区域,查看访问网关及域名。

image.png

  1. 将访问网关地址与需要访问的域名进行Host绑定,在Hosts文件中添加绑定信息。绑定样例如下(请将xx.xx.xxx.xx替换为您的网关ip):
xx.xx.xxx.xx helloworld-go.default.example.com
  1. 完成Host绑定后,可通过域名直接对服务进行访问。
curl http://helloworld-go.default.example.com
Hello Knative!

image.png

相关文章
|
5月前
|
Serverless Python
借助 serverless 将 MCP 服务部署到云端
本文介绍了如何将 MCP 服务通过 SSE 协议部署到云端,避免本地下载和启动的麻烦。首先,使用 Python 实现了一个基于 FastMCP 的网络搜索工具,并通过设置 `transport='sse'` 启用 SSE 协议。接着,编写客户端代码测试服务功能,确保其正常运行。随后,利用阿里云函数计算服务(FC 3.0)以 Serverless 方式部署该服务,包括创建函数、配置环境变量、添加依赖层以及部署代码。最后,提供了客户端测试方法和日志排查技巧,并展示了如何在不同工具(如 Cherry-Studio、Cline 和 Cursor)中配置云端 MCP 服务。
996 10
借助 serverless 将 MCP 服务部署到云端
|
11月前
|
存储 Serverless 数据库
科普文:云计算服务类型IaaS, PaaS, SaaS, BaaS, Faas说明
本文介绍了云计算服务的几种主要类型,包括IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)、BaaS(后端即服务)和FaaS(函数即服务)。每种服务模式提供了不同的服务层次和功能,从基础设施的提供到应用的开发和运行,再到软件的交付使用,满足了企业和个人用户在不同场景下的需求。文章详细阐述了每种服务模式的特点、优势和缺点,并列举了相应的示例。云计算服务的发展始于21世纪初,随着互联网技术的普及,这些服务模式不断演进,为企业和个人带来了高效、灵活的解决方案。然而,使用这些服务时也需要注意服务的稳定性、数据安全性和成本等问题。
7134 5
|
7月前
|
Cloud Native 安全 Serverless
云原生应用实战:基于阿里云Serverless的API服务开发与部署
随着云计算的发展,Serverless架构日益流行。阿里云函数计算(Function Compute)作为Serverless服务,让开发者无需管理服务器即可运行代码,按需付费,简化开发运维流程。本文从零开始,介绍如何使用阿里云函数计算开发简单的API服务,并探讨其核心优势与最佳实践。通过Python示例,演示创建、部署及优化API的过程,涵盖环境准备、代码实现、性能优化和安全管理等内容,帮助读者快速上手Serverless开发。
|
10月前
|
弹性计算 人工智能 自然语言处理
魔搭社区与函数计算:高效部署开源大模型的文本生成服务体验
在数字化时代,人工智能技术迅速发展,开源大模型成为重要成果。魔搭社区(ModelScope)作为开源大模型的聚集地,结合阿里云函数计算,提供了一种高效、便捷的部署方式。通过按需付费和弹性伸缩,开发者可以快速部署和使用大模型,享受云计算的便利。本文介绍了魔搭社区与函数计算的结合使用体验,包括环境准备、部署应用、体验使用和资源清理等步骤,并提出了改进建议。
|
11月前
|
机器学习/深度学习 监控 物联网
函数即服务(FaaS)
函数即服务(FaaS)
503 6
|
10月前
|
Kubernetes Cloud Native JavaScript
为使用WebSocket构建的双向通信应用带来基于服务网格的全链路灰度
介绍如何使用为基于WebSocket的云原生应用构建全链路灰度方案。
|
12月前
|
运维 Kubernetes 前端开发
拥抱Knative, 合思加速Serverless化演进实践
合思信息基于阿里云容器服务Knative, 实现Serverless化演进的最佳实践。
拥抱Knative, 合思加速Serverless化演进实践
|
存储 算法 数据挖掘
表格存储(Tablestore)支持 Serverless 低成本向量检索服务
在当今 GPT 技术盛行的时代,大模型推动了向量检索技术的迅猛发展。向量检索相较于传统的基于关键词的检索方法,能够更精准地捕捉数据之间的语义关系,极大提升了信息检索的效果。特别是在自然语言处理、计算机视觉等领域,向量能够将不同模态的数据在同一空间中进行表达和检索,推动了智能推荐、内容检索、RAG 和知识库等应用的广泛普及。阿里云表格存储(Tablestore)的多元索引提供了向量检索能力。表格存储是一款 Serverless 的分布式结构化数据存储服务,诞生于 2009 年阿里云成立时,主要特点是分布式、Serverless 开箱即用、按量付费、水平扩展和查询功能丰富和性能优秀等。
769 17
|
存储 运维 安全
函数计算产品使用问题之如何获取到访问其他阿里云服务所需的AccessKey、SecretKey或STS Token
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
消息中间件 关系型数据库 Serverless
【阿里云】一键部署创建函数计算服务以处理多媒体文件
通过阿里云的一键部署功能,轻松创建函数计算服务以处理多媒体文件。首先选择地域并配置资源栈名称及其他必要参数,如登录凭证、实例类型及数据库配置。过程中可能需开通相关服务如消息服务MNS,并确保账户有足够的余额。完成配置后,系统自动创建资源栈。当状态显示“创建成功”即部署完毕。最后,通过提供的URL及凭据访问应用,上传PPTX文件进行处理,并下载处理后的结果。
171 5

相关产品

  • 函数计算