Multiple clusters per project with cluster certificates (deprecated)
- Tier: Free, Premium, Ultimate
- Offering: GitLab.com, GitLab Self-Managed
Using multiple Kubernetes clusters for a single project with cluster certificates was deprecated in GitLab 14.5. To connect clusters to GitLab, use the GitLab agent.
You can associate more than one Kubernetes cluster to your project. That way you can have different clusters for different environments, like development, staging, production, and so on. Add another cluster, like you did the first time, and make sure to set an environment scope that differentiates the new cluster from the rest.
Setting the environment scope
When adding more than one Kubernetes cluster to your project, you need to differentiate them with an environment scope. The environment scope associates clusters with environments similar to how the environment-specific CI/CD variables work.
The default environment scope is *
, which means all jobs, regardless of their
environment, use that cluster. Each scope can be used only by a single cluster
in a project, and a validation error occurs if otherwise. Also, jobs that don’t
have an environment keyword set can’t access any cluster.
For example, let’s say the following Kubernetes clusters exist in a project:
Cluster | Environment scope |
---|---|
Development | * |
Production | production |
And the following environments are set in the .gitlab-ci.yml
file:
stages:
- test
- deploy
test:
stage: test
script: sh test
deploy to staging:
stage: deploy
script: make deploy
environment:
name: staging
url: https://staging.example.com/
deploy to production:
stage: deploy
script: make deploy
environment:
name: production
url: https://example.com/
The results:
- The Development cluster details are available in the
deploy to staging
job. - The production cluster details are available in the
deploy to production
job. - No cluster details are available in the
test
job because it doesn’t define any environment.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support