クラスター証明書によるプロジェクトごとの複数クラスター(非推奨)

  • GitLab 10.3 で導入されました。
  • 13.2でGitLab PremiumからGitLab Freeに移行
  • GitLab 14.5 で非推奨
caution
クラスタ証明書を使って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 ジョブは環境を定義していないため、クラスターの詳細はありません。