クラスター証明書によるプロジェクトごとの複数クラスター(非推奨)
クラスタ証明書を使って1つのプロジェクトに複数のKubernetesクラスタを使用することは、GitLab 14.5で非推奨となりました。クラスターをGitLabに接続するには、GitLabエージェントを使用してください。
プロジェクトに複数のKubernetesクラスターを関連付けることができます。そうすることで、開発者、ステージング、本番といった環境ごとに異なるクラスターを持つことができます。最初に行ったように別のクラスターを追加し、新しいクラスターを他のクラスターと区別する環境スコープを設定するようにしてください。
環境スコープの設定
プロジェクトに複数のKubernetesクラスターを追加する場合、環境スコープで区別する必要があります。環境スコープは、環境固有のCI/CD変数が機能するのと同様に、クラスターを環境に関連付けます。
デフォルトの環境スコープは*
で、これは環境に関係なくすべてのジョブがそのクラスターを使用することを意味します。それぞれのスコープはプロジェクト内の単一のクラスターによってのみ使用することができ、そうでない場合は検証エラーが発生します。また、環境キーワードが設定されていないジョブはどのクラスターにもアクセスできません。
例えば、プロジェクト内に以下のKubernetesクラスタが存在するとします:
クラスター | 環境スコープ |
---|---|
開発者向け | * |
生産 | production |
そして、.gitlab-ci.yml
に以下の環境が設定されています:
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/
結果は
- 開発者クラスターの詳細は
deploy to staging
ジョブで確認できます。 - 本番クラスターの詳細は
deploy to production
ジョブで入手できます。 -
test
ジョブは環境を定義していないため、クラスターの詳細はありません。