クラスター証明書によるプロジェクトごとの複数クラスター(非推奨)
クラスタ証明書を使って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ジョブは環境を定義していないため、クラスターの詳細はありません。
