{{< details >}}

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: JihuLab.com, 私有化部署

{{< /details >}}

使用 Auto DevOps 时,您可以将不同的环境部署到不同的 Kubernetes 集群。

部署作业模板 被 Auto DevOps 使用,定义了三个环境名称:

  • review/ (每个以 review/ 开头的环境)
  • staging
  • production

这些环境与使用 自动部署 的作业相关,因此它们必须具有不同的部署域。您必须为每个环境定义单独的 KUBE_CONTEXTKUBE_INGRESS_BASE_DOMAIN 变量。

部署到不同的集群

要将您的环境部署到不同的 Kubernetes 集群:

  1. 创建 Kubernetes 集群
  2. 将集群与您的项目关联:
    1. 在每个集群中安装极狐GitLab 代理
    2. 配置每个代理以访问您的项目
  3. 在每个集群中安装 NGINX Ingress Controller。保存下一步所需的 IP 地址和 Kubernetes 命名空间。
  4. 配置 Auto DevOps CI/CD 流水线变量
    • 为每个环境设置 KUBE_CONTEXT 变量。该值必须指向相关集群的代理。
    • 设置 KUBE_INGRESS_BASE_DOMAIN。您必须为每个环境配置基础域以指向相关集群的 Ingress。
    • 添加一个 KUBE_NAMESPACE 变量,其值为您希望部署目标的 Kubernetes 命名空间。您可以将变量作用域设置为多个环境。

对于已弃用的,基于证书的集群

  1. 转到项目并从左侧边栏选择 运维 > Kubernetes 集群
  2. 设置每个集群的环境作用域
  3. 对于每个集群,添加基于其 Ingress IP 地址的域

{{< alert type=”note” >}}

检查活跃 Kubernetes 集群时,不尊重集群环境作用域。为了使多集群设置与 Auto DevOps 配合工作,您必须创建一个环境作用域设置为 * 的备用集群。您可以将已添加的任何集群设置为备用集群。

{{< /alert >}}

示例配置

集群名称 集群环境作用域 KUBE_INGRESS_BASE_DOMAIN KUBE CONTEXT 变量环境作用域 备注
review review/* review.example.com path/to/project:review-agent review/* 运行所有 review 应用 的 review 集群。
staging staging staging.example.com path/to/project:staging-agent staging 可选。运行 staging 环境部署的 staging 集群。您必须先启用它
production production example.com path/to/project:production-agent production 运行生产环境部署的生产集群。您可以使用增量发布

测试您的配置

完成配置后,通过创建合并请求来测试您的设置。验证您的应用程序是否在 Kubernetes 集群中作为 Review 应用部署,并具有 review/* 环境作用域。同样检查其他环境。