在Web服务托管、Serverless应用部署、AI任务、事件驱动等场景下,推荐您通过Knative服务的形式部署工作负载。使用Knative服务时,您可以随时按需使用资源,更聚焦于业务逻辑的开发,享用Knative带来的基于请求的自动弹性、在没有流量时将实例数量自动缩容至0、简化多版本管理等特性。
前提条件
已在集群中部署Knative,请参见部署Knative。
步骤一:部署Knative服务
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
单击服务管理页签,在服务管理页面顶部选择服务所属的命名空间。然后部署Knative服务。
您可以通过控制台界面或YAML两种方式部署服务。
控制台
在服务管理页面的右上角,单击创建服务,按照页面指引完成参数的配置。
配置项
说明
服务名称
自定义该服务的名称。
镜像名称
单击选择镜像,在弹出的对话框选择所需的镜像。您也可以填写私有registry,填写的格式为
domainname/namespace/imagename:tag
。本例中为
registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go
。镜像版本
单击选择镜像版本。本例中为73fbdd56。
访问协议
支持HTTP和gRPC两种访问协议。
容器端口
设置暴露的容器访问端口,端口号必须介于1~65535。
高级设置
单击高级设置,设置相关配置项。
YAML
在服务管理页面的右上角,单击使用模板创建。
将需要部署服务的YAML编写至模板,然后单击创建。
例如将如下YAML粘贴至模板,创建一个名为
helloworld-go
的服务。apiVersion: serving.knative.dev/v1 kind: Service metadata: name: helloworld-go spec: template: spec: containers: - image: registry-vpc.cn-beijing.aliyuncs.com/knative-sample/helloworld-go:73fbdd56 env: - name: TARGET value: "Knative"
服务创建完成后,您可以在服务管理页签查看创建的服务,并对服务进行查看、编辑或删除操作。
步骤二:访问服务
Knative服务创建完成后,您可以绑定Host域名与访问网关,直接访问服务地址。
在服务管理页签,单击服务名称。
您可以在Knative服务详情页的基本信息区域,查看访问网关及域名。
将访问网关地址与需要访问的域名进行Host绑定,在Hosts文件中添加绑定信息。
绑定示例如下。
121.xx.xxx.xx helloworld-go.default.example.com
通过域名直接对服务进行访问。
相关文档
您也可以为Knative服务启用自定义域名,请参见使用自定义域名。
关于如何为Knative服务配置HTTPS证书访问,请参见配置HTTPS证书访问。
您可以通过创建Revision版本,对Knative服务进行版本管理,请参见创建修订版本。
如果您的业务有不易提前预测的瞬时波峰,推荐您使用ECI资源部署Knative服务,请参见使用ECI资源。
关于如何基于流量请求数实现Knative服务的自动扩缩容,请参见基于流量请求数实现服务自动扩缩容。
关于如何部署Knative Eventing组件并实现Knative的事件驱动,请参见Knative事件驱动。