{{< 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
权限运行部署作业。
这可以用于:
- 创建流水线以在集群中安装集群级应用程序,详情请参见 管理项目模板。
- 任何需要
cluster-admin
权限的作业。
权限
只有管理项目可以接收 cluster-admin
权限。所有其他项目继续接收 命名空间范围的 edit
级别权限。
管理项目受限于以下条件:
- 对于项目级集群,管理项目必须与集群的项目在同一个命名空间(或子孙)中。
- 对于群组级集群,管理项目必须与集群的群组在同一个群组(或子孙)中。
- 对于实例级集群,没有这样的限制。
如何创建和配置集群管理项目
要使用集群管理项目来管理您的集群:
- 创建一个新的项目作为集群管理项目。
- 将集群与管理项目关联。
- 配置集群的流水线。
- 设置环境范围。
将集群管理项目与集群关联
要将集群管理项目与您的集群关联:
- 转到适当的配置页面。对于:
- 展开 高级设置。
- 从 集群管理项目 下拉列表中选择您在上一步中创建的集群管理项目。
配置您的流水线
在指定一个项目为集群的管理项目之后,在该项目中添加一个 .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