{{< details >}}

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

{{< /details >}}

{{< history >}}

  • 极狐GitLab 15.0 中,在私有化部署上禁用。

{{< /history >}}

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

集群管理项目在极狐GitLab 14.5 中弃用。要管理集群应用,使用 极狐GitLab 代理集群管理项目模板

{{< /alert >}}

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

在极狐GitLab 私有化部署实例上,此功能不可用。要使其可用,管理员 需要启用功能标志 certificate_based_clusters

{{< /alert >}}

一个项目可以被指定为集群的管理项目。管理项目可以用于以 Kubernetes cluster-admin 权限运行部署作业。

这可以用于:

  1. 创建流水线以在集群中安装集群级应用程序,详情请参见 管理项目模板
  2. 任何需要 cluster-admin 权限的作业。

权限

只有管理项目可以接收 cluster-admin 权限。所有其他项目继续接收 命名空间范围的 edit 级别权限

管理项目受限于以下条件:

  1. 对于项目级集群,管理项目必须与集群的项目在同一个命名空间(或子孙)中。
  2. 对于群组级集群,管理项目必须与集群的群组在同一个群组(或子孙)中。
  3. 对于实例级集群,没有这样的限制。

如何创建和配置集群管理项目

要使用集群管理项目来管理您的集群:

  1. 创建一个新的项目作为集群管理项目。
  2. 将集群与管理项目关联
  3. 配置集群的流水线
  4. 设置环境范围

将集群管理项目与集群关联

要将集群管理项目与您的集群关联:

  1. 转到适当的配置页面。对于:
  2. 展开 高级设置
  3. 集群管理项目 下拉列表中选择您在上一步中创建的集群管理项目。

配置您的流水线

在指定一个项目为集群的管理项目之后,在该项目中添加一个 .gitlab-ci.yml 文件。例如:

configure cluster:
  stage: deploy
  script: kubectl get namespaces
  environment:
    name: production

设置环境范围

环境范围 在将多个集群关联到同一个管理项目时可用。

每个范围只能被单个集群用于一个管理项目。

例如,假设以下 Kubernetes 集群与管理项目关联:

Cluster Environment scope
Development *
Staging staging
Production production

.gitlab-ci.yml 文件中设置的环境将部署到开发、暂存和生产集群。

stages:
  - deploy

configure development cluster:
  stage: deploy
  script: kubectl get namespaces
  environment:
    name: development

configure staging cluster:
  stage: deploy
  script: kubectl get namespaces
  environment:
    name: staging

configure production cluster:
  stage: deploy
  script: kubectl get namespaces
  environment:
    name: production