Kubernetes向けダッシュボード
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
- ステータス: ベータ
Kubernetesのダッシュボードを使用して、直感的なビジュアルインターフェースでクラスターの状態を把握できます。ダッシュボードは、CI/CDまたはGitOpsでデプロイしたかどうかにかかわらず、接続されているすべてのKubernetesクラスターで動作します。
ダッシュボードを設定する
特定の環境で使用するためにダッシュボードを設定します。ダッシュボードは、既存の環境に設定することも、環境の作成時に追加することもできます。
前提要件:
- Kubernetes向けGitLabエージェントがインストールされ、
user_accessが環境のプロジェクトまたはその親グループに対して設定されている必要があります。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 操作 > 環境を選択します。
- Kubernetes向けエージェントに関連付ける環境を選択します。
- 編集を選択します。
- Kubernetes用のGitLab Agentを選択します。
- オプション。Kubernetes namespace(Kubernetesネームスペース)ドロップダウンリストから、ネームスペースを選択します。
- オプション。Flux resource(Fluxリソース)ドロップダウンリストから、Fluxリソースを選択します。
- 保存を選択します。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 操作 > 環境を選択します。
- 新しい環境を選択します。
- 名前フィールドに入力します。
- Kubernetes用のGitLab Agentを選択します。
- オプション。Kubernetes namespace(Kubernetesネームスペース)ドロップダウンリストから、ネームスペースを選択します。
- オプション。Flux resource(Fluxリソース)ドロップダウンリストから、Fluxリソースを選択します。
- 保存を選択します。
動的環境のダッシュボードを設定する
動的環境のダッシュボードを設定するには:
.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調整の更新の状態がリアルタイムで表示されます。
設定されたダッシュボードを表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 操作 > 環境を選択します。
- Kubernetes向けエージェントに関連付けられている環境を選択します。
- Kubernetesの概要タブを選択します。
ポッドの一覧が表示されます。ポッドを選択して、詳細を表示します。
Flux同期状態
ダッシュボードからFluxデプロイの同期ステータスをレビューできます。デプロイステータスを表示するには、ダッシュボードがKustomizationおよびHelmReleaseリソースを取得できる必要があります。そのためには、環境に対してネームスペースを設定する必要があります。
GitLabは、環境設定のFlux resource(Fluxリソース)ドロップダウンリストで指定されたKustomizationおよびHelmReleaseリソースを検索します。
ダッシュボードには、次のステータスバッジのいずれかが表示されます:
| ステータス | 説明 |
|---|---|
| 照合済み | デプロイがその環境と正常に照合されました。 |
| 照合中 | 調整が進行中です。 |
| 停止中 | 調整は、人的介入なしでは解決できないエラーが発生したため、停止しています。 |
| 失敗 | デプロイは、回復不能なエラーが発生したため、照合できませんでした。 |
| 不明 | デプロイの同期ステータスを取得できませんでした。 |
| 利用不可 | KustomizationまたはHelmReleaseリソースを取得できませんでした。 |
Flux調整をトリガーする
Fluxリソースとのデプロイを照合するには、手動で実行できます。
調整をトリガーするには:
- ダッシュボードで、Fluxデプロイの同期ステータスバッジを選択します。
- アクション( )> トリガー調整( )を選択します。
Flux調整を一時停止または再開する
UIからFlux調整を手動で一時停止または再開できます。
調整を一時停止または再開するには:
- ダッシュボードで、Fluxデプロイの同期ステータスバッジを選択します。
- アクション( )を選択し、次のいずれかを選択します:
- 調整を停止( )を選択して、Flux調整を一時停止します。
- 調整を再開( )を選択して、Flux調整を再開します。
ポッドログを表示する
設定されたダッシュボードから、環境全体のイシューを迅速に把握し、問題を解決したい場合は、ポッドログを表示します。ポッド内の各コンテナのログを表示できます。
- ログの表示を選択し、ログを表示するコンテナを選択します。
ポッドの詳細からポッドログを表示することもできます。
ポッドを削除する
失敗したポッドを再起動するには、Kubernetesダッシュボードから削除します。
podを削除するには、次のようにします:
- Kubernetesの概要タブで、削除するポッドを見つけます。
- アクション( )> ポッドの削除( )を選択します。
ポッドの詳細からポッドを削除することもできます。
詳細なダッシュボード
この機能の利用可否は、機能フラグによって制御されます。詳細については、履歴を参照してください。この機能はテストには利用できますが、本番環境での使用には適していません。
詳細なダッシュボードには、次のKubernetesリソースに関する情報が表示されます:
- pod
- サービス
- デプロイ
- ReplicaSet
- StatefulSet
- DaemonSet
- ジョブ
- CronJob
各ダッシュボードには、リソースのリストがステータス、ネームスペース、経過時間とともに表示されます。リソースを選択すると、ラベル、YAML形式のステータス、注釈、および仕様など、詳細情報を含むドロワーが開きます。
このイシューで説明されているように、フォーカスが変更されたため、詳細なダッシュボードの作業は一時停止されています。
詳細なダッシュボードに関するフィードバックを提供するには、issue 460279を参照してください。
詳細なダッシュボードを表示する
前提要件:
- Kubernetes向けGitLabエージェントが構成され、
user_accessキーワードを使用して、環境のプロジェクトまたはその親グループと共有されます。
詳細なダッシュボードは、サイドバーナビゲーションからはリンクされていません。詳細なダッシュボードを表示するには:
- KubernetesエージェントIDを検索します:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 操作 > Kubernetesクラスターを選択します。
- アクセスするエージェントの数値IDをコピーします。
- 次のURLのいずれかに移動し、
<agent_id>エージェントIDに置き換えます:リソースの種類 URL pod https://myinstance.gitlab.com/-/kubernetes/<agent_id>/podsサービス https://myinstance.gitlab.com/-/kubernetes/<agent_id>/servicesデプロイ https://myinstance.gitlab.com/-/kubernetes/<agent_id>/deploymentsReplicaSet https://myinstance.gitlab.com/-/kubernetes/<agent_id>/replicaSetsStatefulSet https://myinstance.gitlab.com/-/kubernetes/<agent_id>/statefulSetsDaemonSet https://myinstance.gitlab.com/-/kubernetes/<agent_id>/daemonSetsジョブ https://myinstance.gitlab.com/-/kubernetes/<agent_id>/jobsCronJob https://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アクセス権を付与します。

