本文为您介绍如何使用包含Helm Chart文件的代码仓库来创建计算巢K8s集群服务。
计费说明
计算巢本身不收费,但在部署实例时需要使用云资源,会产生相关的资源费用,请参见云资源计费规则。
准备工作
创建包含Helm Chart文件的代码仓库,本文以Forkspring-boot-chart到您的GitHub个人仓库为例。
操作步骤
步骤一:选择创建服务方式
登录计算巢控制台。
在左侧导航栏中,选择我的服务,并在我的服务页面中选择我创建的服务,然后单击创建新服务。
在创建新服务界面,选择通过仓库创建服务同时根据您的实际情况选择仓库平台,本文以GitHub为例。
单击前往授权,根据指引将代码仓库授权给计算巢服务代码仓库的pull和push权限。
如您已授权可跳过该步骤。
步骤二:配置服务信息
配置代码仓库信息。
配置项
配置说明
配置项
配置说明
仓库用户/组织
您可以选择个人仓库或组织仓库名称。
仓库名称
选择您需要导入服务所在的仓库名称。
仓库分支
选择仓库下的分支信息。
选择后,计算巢会自动检测您仓库下的资源描述文件,若未检测到文件信息,则无法进行下一步配置。
部署配置按实际填写,在环境配置区块下,选择K8s集群,此时软件部署类型仅支持选择Helm Chart,并选择Chart目录,路径为基于源仓库的相对路径。
配置Chart Values与用户部署参数。
Chart Values配置允许ISV(独立软件供应商)自定义Chart部署时的参数。覆盖Chart的
values.yaml
中的同名设置(类似helm install -f
的效果)。简而言之,它提供了一种灵活调整应用部署参数的方法,确保可以针对特定需求进行定制。以YAML、JSON格式填写Chart对应的自定义配置,如果存在部署时需要用户填入的参数,例如设置密码,设置Pod数目等,可通过设置用户部署参数的方式来实现,并在Chart Values配置中进行引用。
本节以允许用户设置Pod副本数为例,在用户部署参数中定义一个
Key
为ReplicaCount
的参数,然后在Chart Values配置里通过Ref: ReplicaCount
来引用这个参数。这样,部署时就能根据用户指定的ReplicaCount
值来决定创建多少个Pod副本。YAMLJSONreplicaCount: Ref: ReplicaCount service: port: 8080 type: LoadBalancer
{ "replicaCount": { "Ref": "ReplicaCount" }, "service": { "port": 8080, "type": "LoadBalancer" } }
配置输出类型,目前Helm场景提供三种输出类型。
Helm Notes:将Chart自带的使用说明显示到服务实例输出中,这种方式需要用户自己去执行相关k8s命令来获取服务访问链接和其他信息,之后才能访问。
本节内容基于Chart自带的使用说明,该说明位于代码库中的
Chart/templates/NOTES.txt
文件。自定义输出命令:允许ISV(独立软件供应商)在 K8s 集群中预先定义并执行特定的命令,将执行结果直接展示给用户以便使用。ISV 需要按照标准 Shell 脚本语法定义命令内容,并通过
kubectl
相关命令获取服务的访问方式。以spring-boot-chart部署为例,选择自定义输出命令,输入下面的服务输出命令,创建服务实例时可直接输出服务的访问链接。
export SERVICE_IP=$(kubectl get svc --namespace ${Namespace} spring-boot-chart -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo "Visit URL: http://$SERVICE_IP:8080/"
创建服务后再设置:创建服务以后可以在服务模板里进行设置输出,这种方式更适合对ROS模板比较熟悉以及输出格式比较复杂的情况,可以在服务模板里去定义,会有更高的灵活性。
单击下一步:基本信息配置,按提示配置参数并单击创建服务。
(可选)服务创建完成后,编辑版本设置输出内容。
仅当输出类型选择为创建服务后再设置时需要进行此操作。
进入我的服务,单击目标服务卡片中的编辑版本。
在编辑版本页面中,编辑服务部署区块下的模板内容。
您需在ROS模板中自定义
Outputs
内容,示例如下所示。单击保存更新完成编辑。
步骤三:创建服务实例
进入我的服务,单击目标服务卡片进入服务详情页面。
在服务详情页面,单击服务部署区域中的用户部署链接创建服务实例。
根据提示填写各项参数,单击下一步:确认订单。
因本节以服务商允许用户设置Pod副本数为例,所以需要填写Pod数参数,这个参数的值会通过引用传到Chart Values配置中。
确认部署信息,并单击立即创建。
部署完成后,在我的服务实例中查看实例。
Helm Notes:以spring-boot-chart部署为例,输出的Helm Notes如下,用户需要根据Notes指引执行相关命令得到spring-boot-chart的访问方式。
自定义输出命令:以spring-boot-chart部署为例,根据配置的自定义输义的输出命令用户可直接使用。
创建服务后再设置:以(可选)配置自定义输出为例,输出信息如下所示。
后续操作
- 本页导读
- 计费说明
- 准备工作
- 操作步骤
- 步骤一:选择创建服务方式
- 步骤二:配置服务信息
- 步骤三:创建服务实例
- 后续操作