Config Sync ダッシュボードを使用する

このページでは、Config Sync ダッシュボードの使用方法について説明します。

このダッシュボードでは、Config Sync が管理するパッケージと、これらのパッケージ内のリソースのステータスを包括的に確認できます。

始める前に

IAM 権限

Config Sync ダッシュボードにアクセスするには、プロジェクトで次の IAM ロールが必要です。

  • roles/container.clusterViewer
  • roles/gkehub.viewer

ロールベースのアクセス制御

ユーザーに対して、各クラスタの適切な Kubernetes 権限を付与する必要もあります。クラスタ管理者などの広範な権限をユーザーに付与するのが適切でない場合は、Config Sync ダッシュボードの使用に必要な最小限の権限を含むカスタム RBAC ロールを作成します。

config-sync-dashboard-reader ClusterRole は、ダッシュボードに必要なリソースへの get 権限と list 権限をユーザーに付与します。

  1. config-sync-dashboard-reader ClusterRole を作成してクラスタに適用するには、次のコマンドを実行します。

    cat <<EOF > config-sync-dashboard-reader.yaml
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: config-sync-dashboard-reader
    rules:
    - apiGroups: ["apiextensions.k8s.io"]
      resources: ["customresourcedefinitions"]
      verbs: ["get", "list"]
    - apiGroups: ["configmanagement.gke.io"]
      resources: ["configmanagements"]
      verbs: ["get", "list"]
    - apiGroups: ["configsync.gke.io"]
      resources: ["rootsyncs", "reposyncs"]
      verbs: ["get", "list"]
    - apiGroups: ["kpt.dev"]
      resources: ["resourcegroups"]
      verbs: ["get", "list"]
    - apiGroups: ["apps"]
      resources: ["deployments"]
      verbs: ["get", "list"]
    - apiGroups: [""]
      resources: ["pods", "services"]
      verbs: ["get", "list"]
    - apiGroups: ["anthos.cloud.google.com"]
      resources: ["canonicalservices"]
      verbs: ["get", "list"]
    - apiGroups: ["networking.istio.io"]
      resources: ["virtualservices"]
      verbs: ["get", "list"]
    EOF
    kubectl apply -f config-sync-dashboard-reader.yaml
    
  2. Google Kubernetes Engine(GKE)Enterprise エディション クラスタでロールベース アクセス制御を構成する手順に沿って、ClusterRoleBinding をセットアップします。

ダッシュボードにアクセスする

  1. Google Cloud コンソールで、[機能] セクションの [構成] ページに移動します。

    [構成] に移動

  2. 表示するプロジェクトを選択します。

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

[ダッシュボード] タブには、Config Sync のインストール ステータスの概要が表示されます。

  • [調整ステータス] には、調整されたパッケージの数が表示されます。パッケージの状態が、パッケージ内のリソースによって表されるとおりに実現されている場合、パッケージは調整されています。

    パッケージの調整ステータスは次のとおりです。

    • 現行: パッケージの実際の状態が目的の状態と一致しています。調整プロセスは、目的の状態または実際の状態が変更されるまで完了とみなされます。
    • 処理中: 実際のパッケージの状態が目的の状態(パッケージ内のリソースで表されている状態)になっていません。新たに作成されたパッケージは通常、このステータスから始まります。
    • 失敗: 実際の状態を目的の状態に合わせて調整するプロセスでエラーが発生したか、進行が不十分です。
    • 不明: Config Sync がパッケージの調整ステータスを確認できませんでした。
  • [同期ステータス] には、同期されているパッケージの数が表示されます。ソース(Git リポジトリなど)で観測された最新の状態がクラスタに反映されると、パッケージは同期された状態になります。

    パッケージの同期ステータスは次のとおりです。

    • 同期済み: パッケージはクラスタに同期されます。
    • 保留中: パッケージは同期保留中です。
    • 調整中: パッケージを同期する Deployment の調整中です。
    • 停止: パッケージを同期する Deployment が停止しています。
    • エラー: 同期中にパッケージでエラーが発生しました。
    • 不明: Config Sync がパッケージの同期ステータスを確認できませんでした。
  • Config Sync のステータスには、クラスタへの Config Sync のインストール ステータスが表示されます。

    クラスタには、Config Sync に関連する次のステータスが存在する場合があります。

    • 有効: Config Sync が有効になっているクラスタ。
    • 無効: Config Sync が有効になっていないクラスタ。
    • 保留中: Config Sync が有効になっているものの、変更が行われているクラスタ。このステータスは通常、初回構成時または新しいバージョンへの更新時に発生します。
    • エラー: Config Sync が有効になっているものの、問題があり、Config Sync が機能していないクラスタ。
    • 不明: Config Sync のステータスを特定できません。

別のテーブルに、パッケージとクラスタでグループ化された問題が表示されます。また、Config Sync のインストール リンクや設定、使用を開始するためのリソースも示されます。

パッケージのステータスを表示する

[パッケージ] タブでは、個々のパッケージとクラスタの詳細を表示できます。このタブを使用すると、同期エラーや異常なリソースの背後にある潜在的な原因を詳しく調べることができます。

パッケージの編集

[パッケージ] タブを使用して、パッケージ構成を編集することもできます。

パッケージを編集する手順は次のとおりです。

  1. 編集するパッケージの名前の横にある [パッケージの編集] 列の を選択します。
  2. [パッケージの詳細] セクションで、[ソースタイプ] プルダウン リストからソースタイプを選択します。
  3. [ソース] セクションで、次の操作を行います。

    • Git リポジトリでホストされているソースの場合は、次のフィールドを入力します。

      1. [リポジトリの URL] に、信頼できる情報源として使用する Git リポジトリの URL を入力します。
      2. 省略可: [リビジョン] フィールドを更新して、デフォルトの HEAD を使用していないかどうかを確認します。
      3. 省略可: ルート リポジトリから同期しない場合は、[パス] フィールドを更新します。
      4. 省略可: デフォルトの main ブランチを使用していない場合は、[ブランチ] フィールドを更新します。
    • OCI イメージでホストされているソースの場合は、次のフィールドを入力します。

      1. [イメージ] に、信頼できる情報源として使用する OCI イメージの URL を入力します。
      2. [ディレクトリ] に、同期元となるディレクトリのパスをルート ディレクトリからの相対パスとして入力します。
  4. (省略可): [詳細設定] セクションを開いて、次の操作を行います。

    1. 認証タイプを選択します。

      • なし: 認証を使用しない
      • SSH: SSH 認証鍵ペアを使用
      • Cookiefile: cookiefile を使用
      • トークン: トークンを使用
      • Google Cloud Repository: Google サービス アカウントを使用して Cloud Source Repositories にアクセス。このオプションは、Workload Identity がクラスタで有効になっていない場合にのみ、選択してください。
      • Workload Identity: Google サービス アカウントを使用して、Cloud Source Repositories のリポジトリにアクセス。
    2. 同期の待機時間を秒単位で入力します。これにより、Config Sync が信頼できる情報源からの同期を待機する時間が決まります。

    3. 信頼できる情報源との通信時に使用する HTTPS プロキシの Git プロキシ URL を入力します。

    4. [階層] を選択して [ソース形式] を変更します。

      ほとんどの場合は、デフォルト値の「Unstructured」をおすすめします。これにより、信頼できる情報源を必要に応じて整理できます。

  5. パッケージの編集が完了したら、[保存] をクリックします。

    Config Sync の [パッケージ] ページにリダイレクトされます。数分後、構成したパッケージの [同期ステータス] 列に「同期済み」と表示されます。

設定を表示

[設定] タブには、クラスタのリストと、Config Sync の設定とフリートの設定に関する情報が表示されます。

このタブを使用して、クラスタの Config Sync をアップグレードすることもできます。

  • アップグレードするクラスタ名の横にあるコンテキスト メニュー を選択して、 [構成を編集] を選択します。

Config Sync の設定に関するガイダンスについては、Config Sync の構成をご覧ください。

次のステップ