正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Kubernetes向けダッシュボード

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: ベータ

Kubernetesのダッシュボードを使用して、直感的なビジュアルインターフェースでクラスターの状態を把握できます。ダッシュボードは、CI/CDまたはGitOpsでデプロイしたかどうかにかかわらず、接続されているすべてのKubernetesクラスターで動作します。

Kubernetesポッドとサービスの状態を示すダッシュボード。

ダッシュボードを設定する

特定の環境で使用するためにダッシュボードを設定します。ダッシュボードは、既存の環境に設定することも、環境の作成時に追加することもできます。

前提要件:

  • Kubernetes向けGitLabエージェントがインストールされ、user_accessが環境のプロジェクトまたはその親グループに対して設定されている必要があります。
  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 操作 > 環境を選択します。
  3. Kubernetes向けエージェントに関連付ける環境を選択します。
  4. 編集を選択します。
  5. Kubernetes用のGitLab Agentを選択します。
  6. オプション。Kubernetes namespace(Kubernetesネームスペース)ドロップダウンリストから、ネームスペースを選択します。
  7. オプション。Flux resource(Fluxリソース)ドロップダウンリストから、Fluxリソースを選択します。
  8. 保存を選択します。
  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 操作 > 環境を選択します。
  3. 新しい環境を選択します。
  4. 名前フィールドに入力します。
  5. Kubernetes用のGitLab Agentを選択します。
  6. オプション。Kubernetes namespace(Kubernetesネームスペース)ドロップダウンリストから、ネームスペースを選択します。
  7. オプション。Flux resource(Fluxリソース)ドロップダウンリストから、Fluxリソースを選択します。
  8. 保存を選択します。

動的環境のダッシュボードを設定する

動的環境のダッシュボードを設定するには:

  • .gitlab-ci.ymlファイルでエージェントを指定します。エージェント設定プロジェクトへのフルパスの後に、コロンとエージェントの名前を指定する必要があります。

例:

deploy_review_app:
  stage: deploy
  script: make deploy
  environment:
    name: review/$CI_COMMIT_REF_SLUG
    kubernetes:
      agent: path/to/agent/project:agent-name

詳細については、CI/CD YAML構文リファレンスを参照してください。

ダッシュボードを表示する

ダッシュボードを表示して、接続されているクラスターの状態を確認します。KubernetesリソースとFlux調整の更新の状態がリアルタイムで表示されます。

設定されたダッシュボードを表示するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. 操作 > 環境を選択します。
  3. Kubernetes向けエージェントに関連付けられている環境を選択します。
  4. Kubernetesの概要タブを選択します。

ポッドの一覧が表示されます。ポッドを選択して、詳細を表示します。

Flux同期状態

ダッシュボードからFluxデプロイの同期ステータスをレビューできます。デプロイステータスを表示するには、ダッシュボードがKustomizationおよびHelmReleaseリソースを取得できる必要があります。そのためには、環境に対してネームスペースを設定する必要があります。

GitLabは、環境設定のFlux resource(Fluxリソース)ドロップダウンリストで指定されたKustomizationおよびHelmReleaseリソースを検索します。

ダッシュボードには、次のステータスバッジのいずれかが表示されます:

ステータス説明
照合済みデプロイがその環境と正常に照合されました。
照合中調整が進行中です。
停止中調整は、人的介入なしでは解決できないエラーが発生したため、停止しています。
失敗デプロイは、回復不能なエラーが発生したため、照合できませんでした。
不明デプロイの同期ステータスを取得できませんでした。
利用不可KustomizationまたはHelmReleaseリソースを取得できませんでした。

Flux調整をトリガーする

Fluxリソースとのデプロイを照合するには、手動で実行できます。

調整をトリガーするには:

  1. ダッシュボードで、Fluxデプロイの同期ステータスバッジを選択します。
  2. アクション ellipsis_v )> トリガー調整 retry )を選択します。

Flux調整を一時停止または再開する

UIからFlux調整を手動で一時停止または再開できます。

調整を一時停止または再開するには:

  1. ダッシュボードで、Fluxデプロイの同期ステータスバッジを選択します。
  2. アクション ellipsis_v )を選択し、次のいずれかを選択します:
    • 調整を停止 stop )を選択して、Flux調整を一時停止します。
    • 調整を再開 play )を選択して、Flux調整を再開します。

ポッドログを表示する

設定されたダッシュボードから、環境全体のイシューを迅速に把握し、問題を解決したい場合は、ポッドログを表示します。ポッド内の各コンテナのログを表示できます。

  • ログの表示を選択し、ログを表示するコンテナを選択します。

ポッドの詳細からポッドログを表示することもできます。

ポッドを削除する

失敗したポッドを再起動するには、Kubernetesダッシュボードから削除します。

podを削除するには、次のようにします:

  1. Kubernetesの概要タブで、削除するポッドを見つけます。
  2. アクション ellipsis_v )> ポッドの削除 remove )を選択します。

ポッドの詳細からポッドを削除することもできます。

詳細なダッシュボード

この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。この機能はテストには利用できますが、本番環境での使用には適していません。

詳細なダッシュボードには、次のKubernetesリソースに関する情報が表示されます:

  • pod
  • サービス
  • デプロイ
  • ReplicaSet
  • StatefulSet
  • DaemonSet
  • ジョブ
  • CronJob

各ダッシュボードには、リソースのリストがステータス、ネームスペース、経過時間とともに表示されます。リソースを選択すると、ラベル、YAML形式のステータス、注釈、および仕様など、詳細情報を含むドロワーが開きます。

接続されたクラスターに関する詳細情報を含むダッシュボード。

このイシューで説明されているように、フォーカスが変更されたため、詳細なダッシュボードの作業は一時停止されています。

詳細なダッシュボードに関するフィードバックを提供するには、issue 460279を参照してください。

詳細なダッシュボードを表示する

前提要件:

  • Kubernetes向けGitLabエージェントが構成され、user_accessキーワードを使用して、環境のプロジェクトまたはその親グループと共有されます。

詳細なダッシュボードは、サイドバーナビゲーションからはリンクされていません。詳細なダッシュボードを表示するには:

  1. KubernetesエージェントIDを検索します:
    1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
    2. 操作 > Kubernetesクラスターを選択します。
    3. アクセスするエージェントの数値IDをコピーします。
  2. 次のURLのいずれかに移動し、<agent_id>エージェントIDに置き換えます:
    リソースの種類URL
    podhttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/pods
    サービスhttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/services
    デプロイhttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/deployments
    ReplicaSethttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/replicaSets
    StatefulSethttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/statefulSets
    DaemonSethttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/daemonSets
    ジョブhttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/jobs
    CronJobhttps://myinstance.gitlab.com/-/kubernetes/<agent_id>/cronJobs

トラブルシューティング

Kubernetesのダッシュボードの操作中に、次のイシューが発生する可能性があります。

APIグループでリソースを一覧表示できません

Error: services is forbidden: User "gitlab:user:<user-name>" cannot list resource "<resource-name>" in API group "" at the cluster scopeというエラーが表示されることがあります。

このエラーは、Kubernetesロールベースのアクセス制御で指定された操作をユーザーが実行できない場合に発生します。

解決するには、RBAC設定を確認してください。RBACが適切に設定されている場合は、Kubernetes管理者にお問い合わせください。

GitLabエージェントドロップダウンリストが空です

新しい環境を設定するときに、Kubernetesクラスターを設定していても、GitLabエージェントドロップダウンリストが空になることがあります。

GitLabエージェントドロップダウンリストに入力された状態にするには、user_accessキーワードを使用して、エージェントにKubernetesアクセス権を付与します。