使用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

相关文章
|
26天前
|
人工智能 运维 Kubernetes
Serverless 应用引擎 SAE:为传统应用托底,为 AI 创新加速
在容器技术持续演进与 AI 全面爆发的当下,企业既要稳健托管传统业务,又要高效落地 AI 创新,如何在复杂的基础设施与频繁的版本变化中保持敏捷、稳定与低成本,成了所有技术团队的共同挑战。阿里云 Serverless 应用引擎(SAE)正是为应对这一时代挑战而生的破局者,SAE 以“免运维、强稳定、极致降本”为核心,通过一站式的应用级托管能力,同时支撑传统应用与 AI 应用,让企业把更多精力投入到业务创新。
366 29
|
2月前
|
存储 人工智能 Serverless
函数计算进化之路:AI 应用运行时的状态剖析
AI应用正从“请求-响应”迈向“对话式智能体”,推动Serverless架构向“会话原生”演进。阿里云函数计算引领云上 AI 应用 Serverless 运行时技术创新,实现性能、隔离与成本平衡,开启Serverless AI新范式。
383 12
|
7月前
|
SQL 分布式计算 Serverless
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
鹰角网络为应对游戏业务高频活动带来的数据潮汐、资源弹性及稳定性需求,采用阿里云 EMR Serverless Spark 替代原有架构。迁移后实现研发效率提升,支持业务快速发展、计算效率提升,增强SLA保障,稳定性提升,降低运维成本,并支撑全球化数据架构部署。
724 56
鹰角网络:EMR Serverless Spark 在《明日方舟》游戏业务的应用
|
5月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
300 0
|
7月前
|
人工智能 开发框架 安全
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力,用户只需提交 npx 命令即可“零改造”将开源 MCP Server 部署到云上,函数计算 FC 会准备好计算资源,并以弹性、可靠的方式运行 MCP 服务,按实际调用时长和次数计费,欢迎你在阿里云百炼和函数计算 FC 上体验 MCP 服务。
639 30
|
2月前
|
人工智能 运维 安全
聚焦 AI 应用基础设施,云栖大会 Serverless AI 全回顾
2025 年 9 月 26 日,为期三天的云栖大会在杭州云栖小镇圆满闭幕。随着大模型技术的飞速发展,我们正从云原生时代迈向一个全新的 AI 原生应用时代。为了解决企业在 AI 应用落地中面临的高成本、高复杂度和高风险等核心挑战,阿里云基于函数计算 FC 发布一系列重磅服务。本文将对云栖大会期间 Serverless+AI 基础设施相关内容进行全面总结。
|
2月前
|
人工智能 Kubernetes 安全
重塑云上 AI 应用“运行时”,函数计算进化之路
回顾历史,电网的修建,深刻地改变了世界的经济地理和创新格局。今天,一个 AI 原生的云端运行时的进化,其意义也远不止于技术本身。这是一次设计哲学的升华:从“让应用适应平台”到“让平台主动理解和适应智能应用”的转变。当一个强大、易用、经济且安全的 AI 运行时成为像水电一样的基础设施时,它将极大地降低创新的门槛。一个独立的开发者、一个小型创业团队,将有能力去创造和部署世界级的 AI 应用。这才是技术平权的真谛,是激发全社会创新潜能的关键。
|
3月前
使用 ASM 对集群外部服务进行熔断
熔断是一种流量管理策略,用于系统故障或超载时保护系统。ASM 支持集群内外服务的熔断配置,通过 sidecar 自动完成,无需修改应用。本文介绍如何部署应用并配置熔断规则,验证熔断效果。
101 0
|
7月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
425 12
|
7月前
|
人工智能 开发框架 运维
Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速
Serverless MCP 运行时业界首发,函数计算支持阿里云百炼 MCP 服务!阿里云百炼发布业界首个全生命周期 MCP 服务,无需用户管理资源、开发部署、工程运维等工作,5 分钟即可快速搭建一个连接 MCP 服务的 Agent(智能体)。作为云上托管 MCP 服务的最佳运行时,函数计算 FC 为阿里云百炼 MCP 提供弹性调用能力。
 Serverless MCP 运行时业界首发,函数计算让 AI 应用最后一公里提速

相关产品

  • 函数计算