更新时间:2024-06-17 GMT+08:00

配置发布策略

发布管理预置滚动升级模板,本节将指导您基于滚动升级模板,添加滚动升级插件,配置发布策略。

UCS流水线目前仅支持预置滚动升级模板。

  1. 在环境详情页面,单击“发布策略”。

    图1 发布策略

  2. 单击在自定义策略右侧的号,然后在弹出的新建策略窗口中,根据需要选择策略模板,单击“确定”。

    图2 新建策略

  3. 在模板上填写基本信息,添加插件,以自定义编排任务。

    其中,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文件中可以使用“{{变量名}}”引用环境变量。