基于GitOps部署微服务
基于GitOps的部署是一种全托管、安全的自动化K8S部署方法,使用ArgoCD和CodeArts代理机在用户的K8S集群上安装“GitOps运行时”,其在防火墙后面运行,不需要从外部访问集群,“GitOps运行时”安装在集群上,从Git拉取部署配置,然后通过CodeArts代理机与发布服务安全通信,不需要入网访问。基于GitOps的部署可以对Git中的所有部署配置进行版本控制,实现跨环境、声明式、可追踪、一致性的应用交付。
约束与限制
该特性仅支持在新加坡局点实现。
安装GitOps运行时
- 新建发布管理环境。
- 单击环境名称,跳转至“环境信息”页签。
- 单击“配置”,弹出“配置 GitOps Runtime”侧滑框,根据步骤1提示,获取并配置访问密钥。
- 勾选
,单击“生成命令”,展开“helm”安装命令,复制此命令,在K8S集群上执行该命令。
- 单击“关闭”,完成GitOps Runtime的配置。
- 在“环境信息”页面,查看并监控GitOps Runtime状态。
创建微服务部署配置
- 访问CodeArts Pipeline首页。
- 单击 ,进入微服务列表页面。
- 新建流水线微服务,或搜索需要创建部署配置的微服务,单击微服务名称,进入微服务“概览”页面。
- 单击“部署配置”,单击
,进入“新建部署配置”页面,填写基本信息,相关参数说明如表1所示。
表1 参数说明 参数项
说明
所属项目
部署所属项目,不可修改。
部署配置名称
部署配置的名称,仅支持中文、英文字母、数字、“-”、“_”,长度不超过128个字符。
部署引擎
支持选择“发布策略”或“GitOps”。
构建类型
支持选择“Helm”和“Kustomize”。
产物源
制品仓库来源,当前仅支持Git仓库。
代码源
代码仓库来源,当前仅支持Repo。
代码仓
当前项目下的代码仓,指定GitOps仓库。
分支
代码仓库分支。
路径
指定代码仓内的具体子路径。
命名空间
目标应用的命名空间,选择部署的默认命名空间。
描述
部署配置的描述,长度不超过200个字符。
Helm 值文件
同一代码仓内的文件列表,作为Helm值在部署过程中执行Helm模板时使用。
Helm参数
执行Helm模板时注入的参数。
- “构建类型”为Helm时,单击Helm参数下的“新建参数”,配置helm参数的key值和value值。单击
可删除参数。
- 单击“确定”,完成微服务部署配置的新建。
微服务实例部署
- 访问CodeArts Pipeline首页。
- 单击“环境”页面。 ,进入
- 单击部署微服务的环境名称,进入“环境信息”页面。
- 单击“微服务实例”,进入“微服务实例”页面。
- 单击“创建微服务实例”,进入“创建微服务实例”页面,填写基本信息,相关参数说明如表2。
- 单击
,选择是否覆盖默认部署配置。
- 单击微服务名称,进入微服务“概览”页面,查看部署后的微服务。
- 单击“部署历史”,可查看微服务部署记录。
,单击部署微服务的环境名称,单击
- 每个环境只允许部署一个微服务实例。
使用流水线服务自动更新部署的微服务
- 新建流水线。
- 进入编排流水线阶段,单击“新建任务”,弹出“新建任务”侧滑框。
- 将鼠标移动到“部署微服务实例”插件,单击“添加”,完成基本信息的填写,相关参数说明如表3。
表3 参数说明 参数项
说明
名称
插件名称,名称仅支持输入中文、大小写英文字母、数字、'-'、'_'、','、';'、':'、'.'、'/'、'('、')'、'('、')'及空格,长度不超过128个字符。
环境
发布管理环境,与集群资源关联,承载将要进行的部署任务的相关配置。
微服务
已完成部署配置的微服务,选择微服务,与微服务实例部署配置的“微服务实例”联动,自动更新其中的配置信息。
Helm参数
执行Helm模板时注入的参数。
- 单击“确定”,完成“部署微服务实例”插件的添加。
- 单击“保存”,完成流水线服务自动更新部署的微服务。