Kubernetes用ダッシュボード(無料オールベータ)
- GitLab 16.1 で導入され、
environment_settings_to_graphql
,kas_user_access
,kas_user_access_project
,expose_authorized_cluster_agents
というフラグがあります。この機能はベータ版です。- 機能フラグ
environment_settings_to_graphql
はGitLab 16.2で削除されました。- GitLab 16.2で機能フラグ
kas_user_access
,kas_user_access_project
,expose_authorized_cluster_agents
が削除されました。
Kubernetes 用ダッシュボードを使用して、直感的なビジュアルインターフェイスでクラスターのステータスを把握できます。ダッシュボードは、CI/CDでデプロイしたかGitOpsでデプロイしたかにかかわらず、接続されているすべてのKubernetesクラスターで動作します。
Fluxユーザーの場合、特定の環境の同期ステータスはダッシュボードに表示されません。イシュー 391581ではこの機能の追加を提案しています。
ダッシュボードの設定
フラグ: セルフマネジメントのGitLabでは、デフォルトではFluxリソースを選択することはできません。利用可能にするには、管理者がflux_resource_for_environment
という機能フラグを有効にします。GitLab.comでは、この機能は利用可能です。
ダッシュボードを設定し、指定された環境で使用します。すでに存在する環境に対してダッシュボードを設定することも、環境を作成するときにダッシュボードを追加することもできます。
前提条件:
- Kubernetes 用エージェントは、
user_access
キーワードを使用して、環境のプロジェクトまたはその親グループで共有する必要があります。 - セルフマネジメントのみ。KASはGitLabサブドメイン上で実行されています。例えば、
kas.example.com
とexample.com
。
環境はすでに存在しています
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- オペレーション > 環境を選択します。
- Kubernetesに関連付ける環境を選択します。
- 編集]を選択します。
- Kubernetes用のGitLabエージェントを選択します。
- オプション。Kubernetes namespaceドロップダウンリストから、ネームスペースを選択します。
- オプション。Fluxリソースのドロップダウンリストから、Fluxリソースを選択します。
- Save を選択します。
環境が存在しません。
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- オペレーション > 環境を選択します。
- 新しい環境]を選択します。
- Name欄を入力します。
- Kubernetes用のGitLabエージェントを選択します。
- オプション。Kubernetes namespaceドロップダウンリストから、ネームスペースを選択します。
- オプション。Fluxリソースのドロップダウンリストから、Fluxリソースを選択します。
- Save を選択します。
ダッシュボードの表示
設定したダッシュボードを表示します:
- 左のサイドバーで「検索」または「移動」を選択してあなたのプロジェクトを検索します。
- オペレーション > 環境を選択します。
- GitLab agent for Kubernetesに関連付けられている環境を展開します。
- Kubernetesの概要を展開します。
Flux同期ステータス
ダッシュボードにFluxデプロイの同期状況が表示されます。
ステータス | 説明 |
---|---|
調整済み | デプロイが環境と正常に照合されました。 |
照合中 | 調整中です。 |
停止中 | 人手を介さなければ解決できないエラーのため、照合が滞っています。 |
失敗 | 回復不能なエラーのため、デプロイが照合できませんでした。 |
不明 | デプロイの同期ステータスを取得できませんでした。 |
使用不可 |
Kustomization またはHelmRelease リソースを取得できませんでした。 |
デプロイは、与えられた環境のステータスを収集するためにFluxKustomization
とHelmRelease
リソースに依存します。これは、環境に対して名前空間を設定する必要があります。デフォルトでは、GitLab はKustomization
とHelmRelease
リソースからプロジェクトのスラッグ名を探します。環境設定で GitLab が探す名前をカスタマイズすることができます。
トラブルシューティング
Dashboard for 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設定を確認してください。RBACが適切に設定されている場合は、Kubernetes管理者に連絡してください。