配置发布策略
发布管理预置滚动升级模板,本节将指导您基于滚动升级模板,添加滚动升级插件,配置发布策略。
UCS流水线目前仅支持预置滚动升级模板。
- 在环境详情页面,单击“发布策略”。
图1 发布策略
- 单击在自定义策略右侧的号,然后在弹出的新建策略窗口中,根据需要选择策略模板,单击“确定”。
图2 新建策略
- 在模板上填写基本信息,添加插件,以自定义编排任务。插件的详细配置可参考原子插件。
其中,UCS滚动升级插件支持镜像创建和YAML创建两种部署方式:
镜像创建
选择镜像创建时,需要选中对应的舰队命名空间、工作负载与容器。部署时,流水线上的镜像将直接替换对应命名空间、工作负载与容器中的镜像。
图3 镜像创建
YAML创建
在代码仓内新建一个YAML文件,填写升级的工作负载YAML路径。
图4 YAML创建
若涉及拉取私有镜像,您需要进行以下操作:
在UCS服务侧,为对应的集群配置Docker镜像仓库密钥,并记录密钥名称,具体操作参考密钥(Secret)。
在“发布管理>环境>环境变量”中设置环境变量,在yaml中可以通过{{}}形式引用。
图5 设置环境变量
示例yaml文件:
kind: Deployment apiVersion: apps/v1 metadata: name: {{app_name}} namespace: {{namespace}} spec: replicas: 3 selector: matchLabels: app: {{app_name}} version: v1 template: metadata: labels: app: {{app_name}} version: v1 spec: containers: - name: container-1 image: {{ARTIFACT}} env: - name: PAAS_APP_NAME value: {{app_name}} - name: PAAS_NAMESPACE value: {{namespace}} - name: PAAS_PROJECT_ID value: {{PROJECT_ID}} resources: limits: cpu: 250m memory: 512Mi requests: cpu: 250m memory: 512Mi imagePullSecrets: - name: {{secret_name}} schedulerName: default-scheduler
- YAML创建部署方式仅支持单个YAML文件。
- YAML文件的代码仓和分支来源于您在发布管理中配置的代码仓和分支。
- YAML路径为相对路径,当前目录为代码分支的根目录。
- YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量,具体操作请参见环境变量配置。