Melihat status Config Sync dengan gcloud CLI

Halaman ini menjelaskan cara menggunakan perintah Google Cloud CLI untuk memantau Config Sync:

  • Gunakan gcloud alpha anthos config sync repo untuk mencantumkan status repositori Anda di beberapa cluster.

  • Gunakan gcloud alpha anthos config sync resources untuk melihat resource yang dikelola Config Sync.

Anda juga dapat melihat informasi serupa di dasbor Sinkronisasi Konfigurasi.

Sebelum memulai

Sebelum menggunakan perintah di halaman ini, selesaikan langkah-langkah berikut:

  1. Update komponen Google Cloud CLI:

    gcloud components update
    
  2. Daftarkan cluster Anda jika Anda belum melakukannya. Jika Anda menginstal dan mengonfigurasi Config Sync melalui konsol Google Cloud, Anda dapat melewati langkah ini.

  3. Jika cluster Anda bukan cluster GKE, administrator platform harus menyiapkan Connect Gateway untuk cluster yang terdaftar.

  4. Tetapkan project Anda:

    gcloud config set project PROJECT_ID
    

    Ganti PROJECT_ID dengan project ID tempat Config Sync disiapkan dan berjalan.

Melihat status Config Sync di beberapa cluster

Jika menginstal dan mengonfigurasi Config Sync di beberapa cluster terdaftar dalam project, Anda dapat menggunakan gcloud alpha anthos config sync repo untuk mencantumkan status repositori yang disinkronkan di seluruh cluster dan men-debug masalah dengan Config Sync.

Dibandingkan dengan nomos status, gcloud alpha anthos config sync repo mengelompokkan status berdasarkan repositori, sedangkan perintah nomos status mengelompokkan status berdasarkan cluster.

Mencantumkan semua repositori

Untuk mencantumkan semua status repositori Git yang disinkronkan ke cluster terdaftar dalam project saat ini, jalankan perintah berikut:

gcloud alpha anthos config sync repo list

Outputnya mirip dengan hal berikut ini:

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
                       SOURCE                                     TOTAL  SYNCED  PENDING  ERROR  STALLED  RECONCILING 
├─────────────────────────────────────────────────────────────────┼───────┼────────┼─────────┼───────┼─────────┼─────────────┤
 https://source.developers.google.com/p/test/r/test//@main        2      2       0        0      0        0           
 https://source.developers.google.com/p/test/r/dev//@main         2      1       0        0      1        0           
 https://source.developers.google.com/p/test/r/staging//@main     1      0       0        1      0        0           
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘

Untuk setiap repositori, Anda dapat melihat status yang sesuai di seluruh cluster:

  • TOTAL adalah jumlah cluster tempat repositori disinkronkan.
  • SYNCED adalah jumlah cluster tempat repositori ini berhasil disinkronkan.
  • PENDING adalah jumlah cluster tempat repositori ini menunggu untuk disinkronkan.
  • ERROR adalah jumlah cluster tempat repositori ini mengalami beberapa error selama sinkronisasi.
  • STALLED adalah jumlah cluster tempat Deployment yang menyinkronkan repositori ini terhenti.
  • RECONCILING adalah jumlah cluster tempat Deployment yang menyinkronkan repositori ini disesuaikan.

Mencantumkan repositori dengan status tertentu

Anda juga dapat mencantumkan repositori dengan status tertentu menggunakan flag --status. Nilai yang didukung adalah synced, pending, error, stalled, dan reconciling.

Misalnya, cantumkan repositori yang memiliki error dengan menjalankan perintah berikut:

gcloud alpha anthos config sync repo list --status=error

Outputnya mirip dengan hal berikut ini:

┌─────────────────────────────────────────────────────────────────┬───────┬────────┬─────────┬───────┬─────────┬─────────────┐
                       SOURCE                                     TOTAL  SYNCED  PENDING  ERROR  STALLED  RECONCILING 
├─────────────────────────────────────────────────────────────────┼───────┼────────┼─────────┼───────┼─────────┼─────────────┤
 https://source.developers.google.com/p/test/r/staging//@main     1      0       0        1      0        0           
└─────────────────────────────────────────────────────────────────┴───────┴────────┴─────────┴───────┴─────────┴─────────────┘

Menjelaskan repositori

Gunakan perintah describe untuk melihat detail tentang status repositori Anda:

   gcloud alpha anthos config sync repo describe \
     --source URL

Ganti URL dengan URL dari output perintah repo list yang dijelaskan di bagian sebelumnya.

Anda juga dapat menggunakan --namespace dan --name untuk menentukan repositori yang ingin dijelaskan.

   gcloud alpha anthos config sync repo describe \
     --sync-namespace config-management-system --sync-name root-sync

Secara default, perintah ini mencetak status repositori serta resource terkelola yang diterapkan, tetapi gagal dalam rekonsiliasi. Contoh:

   [
     {
       "clusters": [
         "cluster-1",
         "cluster-2",
       ],
       "commit": "32293c90a63efba3121c7648048fcd3e85043a34",
       "errors": [],
       "source": "https://source.developers.google.com/p/test/r/test//@main",
       "status": "SYNCED"
     }
   ]

Anda juga dapat menggunakan flag --managed-resources untuk mengontrol resource terkelola yang ingin Anda lihat. Nilai yang didukung adalah all, current, inprogress, notfound, failed (default), atau unknown. Anda dapat menggunakan perintah berikut untuk melihat semua resource terkelola:

   gcloud alpha anthos config sync repo describe \
     --namespace config-management-system --name root-sync \
     --managed-resources all

Outputnya mirip dengan hal berikut ini:

   [
     {
       "clusters": [
         "cluster-1",
         "cluster-2",
       ],
       "commit": "32293c90a63efba3121c7648048fcd3e85043a34",
       "errors": [],
       "source": "https://source.developers.google.com/p/test/r/test//@main",
       "status": "SYNCED"
     }
   ]
   ┌────────────────────────────────────────────────────────────────┐
                          managed_resources                        
   ├───────┬───────────┬─────────┬───────────┬─────────┬────────────┤
    GROUP     KIND      NAME   NAMESPACE   STATUS  CONDITIONS 
   ├───────┼───────────┼─────────┼───────────┼─────────┼────────────┤
           Namespace  default             Current             
           ConfigMap  foo      default    Current             
   └───────┴───────────┴─────────┴───────────┴─────────┴────────────┘

Melihat resource terkelola Config Sync

Anda dapat menggunakan gcloud alpha anthos config sync resources untuk memfilter resource yang dikelola berdasarkan cluster, grup, jenis, namespace, nama, status, atau kombinasi atribut ini.

Mencantumkan semua resource terkelola

   gcloud alpha anthos config sync resources list

Perintah ini mencantumkan semua resource terkelola yang disinkronkan ke cluster terdaftar dalam project saat ini. Outputnya mirip dengan hal berikut ini:

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    CLUSTER_NAME   │           GROUP           │           KIND           │    NAMESPACE     │                    NAME                   │  STATUS │ CONDITION │
├───────────────────┼───────────────────────────┼──────────────────────────┼──────────────────┼───────────────────────────────────────────┼─────────┼───────────┤
│ cluster-1         │                           │ Namespace                │                  │ default                                   │ Current │           │
│ cluster-1         │ rbac.authorization.k8s.io │ RoleBinding              │ default          │ viewers                                   │ Current │           │
│ cluster-2         │                           │ Namespace                │                  │ gamestore                                 │ Current │           │
│ cluster-2         │ rbac.authorization.k8s.io │ RoleBinding              │ gamestore        │ gamestore-admin                           │ Current │           │
│ cluster-2         │ rbac.authorization.k8s.io │ RoleBinding              │ gamestore        │ gamestore-webstore-admin                  │ Current │           │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘

Setiap baris output menjelaskan resource terkelola dan statusnya yang sesuai:

  • CLUSTER_NAME adalah nama cluster tempat resource terkelola berasal.
  • GROUP adalah atribut grup dari resource terkelola.
  • KIND adalah atribut jenis resource terkelola.
  • NAMESPACE adalah namespace resource terkelola.
  • NAME adalah nama resource terkelola.
  • STATUS adalah status rekonsiliasi resource terkelola. Anda dapat menemukan daftar kemungkinan status di dokumentasi Kubernetes Sig.
  • CONDITION adalah pesan yang menjelaskan status resource terkelola.

Mencantumkan resource terkelola dari satu cluster

Anda dapat melihat resource terkelola per cluster menggunakan perintah gcloud atau dengan melihatnya di konsol Google Cloud.

Anda dapat membuat daftar resource terkelola dari cluster tertentu menggunakan flag --cluster. Misalnya, cantumkan resource terkelola dari cluster dengan nama cluster-1 dengan perintah berikut:

gcloud alpha anthos config sync resources list --cluster=cluster-1

Outputnya mirip dengan hal berikut ini:

┌───────────────────┬───────────────────────────┬──────────────────────────┬──────────────────┬───────────────────────────────────────────┬─────────┬───────────┐
│    CLUSTER_NAME   │           GROUP           │           KIND           │    NAMESPACE     │                    NAME                   │  STATUS │ CONDITION │
├───────────────────┼───────────────────────────┼──────────────────────────┼──────────────────┼───────────────────────────────────────────┼─────────┼───────────┤
│ cluster-1         │                           │ Namespace                │                  │ default                                   │ Current │           │
│ cluster-1         │ rbac.authorization.k8s.io │ RoleBinding              │ default          │ viewers                                   │ Current │           │
└───────────────────┴───────────────────────────┴──────────────────────────┴──────────────────┴───────────────────────────────────────────┴─────────┴───────────┘

Langkah selanjutnya