Help us learn about your current experience with the documentation. Take the survey.
Auto DevOps 的多 Kubernetes 集群
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
使用 Auto DevOps 时,您可以将不同的环境部署到不同的 Kubernetes 集群。
Auto DevOps 使用的 部署任务模板 定义了三个环境名称:
review/(所有以review/开头的环境)stagingproduction
这些环境通过 Auto Deploy 与任务关联,因此它们必须有不同的部署域名。您必须为这三个环境分别定义独立的 KUBE_CONTEXT 和 KUBE_INGRESS_BASE_DOMAIN 变量。
部署到不同集群
要将您的环境部署到不同的 Kubernetes 集群:
- 创建 Kubernetes 集群。
- 将集群关联到您的项目:
- 在每个集群中安装 NGINX Ingress Controller。保存 IP 地址和 Kubernetes 命名空间以备下一步使用。
- 配置 Auto DevOps CI/CD 流水线变量
- 为每个环境设置
KUBE_CONTEXT变量 for each environment。该值必须指向相关集群的代理。 - 设置
KUBE_INGRESS_BASE_DOMAIN。您必须 配置基础域名,使每个环境指向相关集群的 Ingress。 - 添加一个
KUBE_NAMESPACE变量,值为您希望部署目标所在的 Kubernetes 命名空间。您可以将变量范围设置为多个环境。
- 为每个环境设置
对于已弃用的 基于证书的集群:
- 进入项目,从左侧边栏选择 运维 > Kubernetes 集群。
- 设置每个集群的环境范围。
- 对于每个集群,基于其 Ingress IP 地址添加域名。
检查活跃 Kubernetes 集群时不会考虑集群环境范围。要让多集群设置与 Auto DevOps 协同工作,您必须创建一个备用集群,将 集群环境范围 设置为 *。您可以将已添加的任何集群设置为备用集群。
示例配置
| 集群名称 | 集群环境范围 | 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 |
运行生产环境部署的生产集群。您可以使用 渐进式发布。 |
测试您的配置
完成配置后,通过创建合并请求来测试您的设置。
验证您的应用程序是否部署在具有 review/* 环境范围的 Kubernetes 集群中作为 Review App。同样检查其他环境。