Cluster management project (alpha)
原文:https://docs.gitlab.com/ee/user/clusters/management_project.html
Cluster management project (alpha)
警告:这是Alpha 版功能,如有更改,恕不另行通知.
在 GitLab 12.5 中引入
可以将一个项目指定为集群的管理项目. 管理项目可用于以 Kubernetes cluster-admin
权限运行部署作业.
这对以下情况很有用:
- 创建管道以将群集范围的应用程序安装到群集中,有关详细信息,请参见使用 GitLab CI / CD(alpha)安装.
- 需要
cluster-admin
权限的所有作业.
Permissions
仅管理项目将获得cluster-admin
权限. 所有其他项目将继续获得命名空间范围的edit
级别特权 .
管理项目仅限于以下内容:
- 对于项目级集群,管理项目必须与集群项目位于相同的名称空间(或子代)中.
- 对于组级集群,管理项目必须与集群的组位于同一组(或子孙)中.
- 对于实例级群集,没有此类限制.
Usage
要将群集管理项目用于群集:
- 选择项目.
- 配置管道.
- 设置环境范围.
Selecting a cluster management project
选择要使用的集群管理项目:
- 导航到适当的配置页面. 为一个:
- 在” 高级设置”部分中的”使用集群管理项目”字段中选择项目.
Configuring your pipeline
将项目指定为集群的管理项目后,在该项目中编写.gitlab-ci.yml
. 例如:
configure cluster:
stage: deploy
script: kubectl get namespaces
environment:
name: production
Setting the environment scope
将多个群集与同一管理项目关联时,可以使用环境范围 .
每个作用域只能由单个群集用于管理项目.
例如,假设以下 Kubernetes 集群与管理项目相关联:
Cluster | 环境范围 |
---|---|
Development | * |
Staging | staging |
Production | production |
.gitlab-ci.yml
设置的以下环境将分别部署到 Development,Staging 和 Production 集群.
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