- クラスター・アプリケーションのデプロイのマイグレーション
- GitLab Managedアプリケーションからのマイグレーション
- クラスター管理プロジェクトのマイグレーション
- クラスター監視機能のマイグレーション
Kubernetes用GitLabエージェントへのマイグレーション
KubernetesクラスターとGitLabを接続するには、以下を使います:
証明書ベースのインテグレーションは 非推奨GitLab 14.5 では廃止予定です。廃止予定について説明します:
- GitLab.comをご利用のお客様へ。
- セルフマネジメントのお客様
証明書ベースのインテグレーションを使用している場合は、できるだけ早く別のワークフローに移行してください。
原則として、GitLab CI/CDに依存しているクラスターをマイグレーションするには、CI/CDワークフローを使用できます。このワークフローはエージェントを使用してクラスターに接続します。エージェントは
- インターネットに公開されていません。
- GitLabへのフルアクセス(
cluster-admin
)を必要としません。
クラスター・アプリケーションのデプロイのマイグレーション
GitLab が管理するクラスターからのマイグレーション
GitLab管理クラスタでは、GitLabはブランチごとに個別のサービスアカウントとネームスペースを作成し、これらのリソースを使用してデプロイを行います。
GitLabエージェントはなりすまし戦略を使って、アカウントアクセスを制限したクラスターにデプロイします。そのためには
- ニーズに合ったインパーソネーション戦略を選択します。
- KubernetesのRBACルールを使用して、Kubernetesのなりすましアカウントの権限を管理します。
- エージェント設定ファイルの
access_as
属性を使用して、なりすましを定義します。
Auto DevOps からのマイグレーション
Auto DevOpsプロジェクトでは、GitLabエージェントを使用してKubernetesクラスターと接続することができます。
- クラスターにエージェントをインストールします。
- GitLabで、Auto DevOpsを使用するプロジェクトに移動します。
- 3つの変数を追加します。左サイドバーで、Settings > CI/CDを選択し、Variablesを展開します。
- アプリケーションデプロイメントドメインを値として、
KUBE_INGRESS_BASE_DOMAIN
というキーを追加します。 -
path/to/agent/project:agent-name
のような値を持つKUBE_CONTEXT
というキーを追加します。環境スコープを選択します。エージェントのコンテキストがわからない場合は、.gitlab-ci.yml
ファイルを編集してジョブを追加し、利用可能なコンテキストを確認してください:deploy: image: name: bitnami/kubectl:latest entrypoint: [""] script: - kubectl config get-contexts
-
KUBE_NAMESPACE
というキーに、デプロイの対象となるKubernetesネームスペースの値を追加します。同じ環境スコープを設定します。
- アプリケーションデプロイメントドメインを値として、
- 変数の追加を選択します。
- 左サイドバーで、Operate > Kubernetes clustersを選択します。
- 証明書ベースのクラスターのセクションから、同じ環境スコープを提供するクラスターを開きます。
- Details]タブを選択し、クラスターを無効にします。
-
.gitlab-ci.yml
ファイルを編集し、Auto DevOps テンプレートが使用されていることを確認します。例えばinclude: template: Auto-DevOps.gitlab-ci.yml variables: KUBE_INGRESS_BASE_DOMAIN: 74.220.23.215.nip.io KUBE_CONTEXT: "gitlab-examples/ops/gitops-demo/k8s-agents:demo-agent" KUBE_NAMESPACE: "demo-agent"
- パイプラインをテストするには、左サイドバーで[Build] > [Pipelines]を選択し、[Run pipeline]を選択します。
例として、このプロジェクトをご覧ください。
汎用デプロイのマイグレーション
CI/CDワークフローのプロセスに従います。
GitLab Managedアプリケーションからのマイグレーション
GitLab Managed Apps(GMA) はGitLab 14.0で非推奨となり、GitLab 15.0で削除されました。Kubernetes用エージェントはこれらをサポートしていません。GMAからエージェントにマイグレーションするには、以下の手順に従ってください:
クラスター管理プロジェクトのマイグレーション
GitLab エージェントでクラスター管理プロジェクトを使用する方法を参照してください。
クラスター監視機能のマイグレーション
クラスター監視機能は、Kubernetes用のGitLabエージェントではまだサポートされていません。