Halaman ini menunjukkan berbagai cara untuk memantau objek
RootSync dan RepoSync.
Misalnya, Anda mungkin ingin memverifikasi apakah commit terbaru Anda di sumber tepercaya
diterapkan ke cluster dan direkonsiliasi dengan berhasil.
Melihat commit yang disinkronkan
Anda dapat memeriksa commit mana yang disinkronkan ke cluster dengan memeriksa kolom .status.sync di objek RootSync atau RepoSync.
Untuk melihat commit yang disinkronkan untuk objek
RootSync, jalankan perintah berikut:kubectl get rootsync ROOT_SYNC_NAME -n config-management-systemGanti
ROOT_SYNC_NAMEdengan nama objekRootSync.Untuk melihat commit yang disinkronkan untuk objek
RepoSync, jalankan perintah berikut:kubectl get reposync REPO_SYNC_NAME -n REPO_SYNC_NAMESPACEGanti kode berikut:
REPO_SYNC_NAME: nama objekRepoSync.REPO_SYNC_NAMESPACE: namespace tempat Anda membuat repositori namespace.
Output untuk perintah ini menunjukkan nilai commit sumber dan commit yang disinkronkan. Misalnya, jika Anda menjalankan perintah untuk RepoSync, Anda akan melihat output yang mirip dengan berikut ini:
NAME RENDERINGCOMMIT SOURCECOMMIT SYNCCOMMIT
root-sync 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72
Nilai di kolom RENDERINGCOMMIT adalah commit yang diproses oleh hydration-controller. Jika tidak ada rendering yang diperlukan, nilainya sama dengan kolom SOURCECOMMIT. Nilai di kolom SOURCECOMMIT adalah commit dari sumber tepercaya yang harus disinkronkan ke cluster. Nilai di kolom SYNCCOMMIT adalah commit yang di-deploy ke cluster. Jika kedua nilai di kolom SOURCECOMMIT dan SYNCCOMMIT sama, commit yang diharapkan telah di-deploy ke cluster.
Mengonfirmasi bahwa resource dalam commit direkonsiliasi
Karena ResourceGroup menangkap status rekonsiliasi resource terkelola yang dideklarasikan di sumber tepercaya, Anda dapat memeriksanya untuk mengonfirmasi apakah resource dalam commit direkonsiliasi.
Objek ResourceGroup memiliki namespace dan nama yang sama dengan objek RootSync atau RepoSync. Misalnya, untuk objek RootSync dengan nama root-sync di namespace config-management-system, objek ResourceGroup yang sesuai juga root-sync di namespace config-management-system.
Untuk mendapatkan objek ResourceGroup untuk objek
RootSync:kubectl get resourcegroup ROOT_SYNC_NAME -n config-management-system -o yamlUntuk mendapatkan objek ResourceGroup untuk objek
RepoSync:kubectl get resourcegroup REPO_SYNC_NAME -n REPO_SYNC_NAMESPACE -o yamlGanti kode berikut:
ROOT_SYNC_NAME: nama objek ResourceGroup yang ingin Anda cari.REPO_SYNC_NAME: nama objek ResourceGroup yang ingin Anda cari.REPO_SYNC_NAMESPACE: nama objek ResourceGroup yang ingin Anda cari.
Untuk mengonfirmasi bahwa resource dalam commit direkonsiliasi, cari hal berikut dalam output:
.status.observedGenerationsama dengan nilai kolom.metadata.generationdi objek ResourceGroup.- Kondisi
Stalledmemilikistatusdari"False". - Setiap item di bagian
.status.resourceStatusesmemilikiactuationSucceeded,reconcileSucceeded, danstatusCurrent.
Melihat error
Objek RootSync dan RepoSync menggunakan kolom status untuk melacak error yang terjadi saat menyinkronkan konfigurasi dari sumber tepercaya ke cluster.
Untuk melihat status objek
RootSync, jalankan perintah berikut:kubectl get rootsync ROOT_SYNC_NAME -n config-management-system -o yamlGanti
ROOT_SYNC_NAMEdengan nama objekRootSync.Untuk melihat status objek
RepoSync, jalankan perintah berikut:kubectl get reposync REPO_SYNC_NAME -n NAMESPACE -o yamlGanti kode berikut:
REPO_SYNC_NAME: nama objekRepoSync.NAMESPACE: namespace tempat Anda membuat repositori namespace.
Untuk mempelajari lebih lanjut subkolom di kolom status, lihat
Status objek.
Melihat detail objek
Untuk melihat detail objek RootSync dan RepoSync serta menemukan informasi lebih lanjut tentang potensi error, gunakan perintah kubectl describe.
Output perintah ini mencakup peristiwa, yang dapat sangat membantu untuk men-debug masalah seperti container yang menghadapi batasan memori (OOMKilled), kegagalan penjadwalan, atau error pull image.
Untuk format yang lebih mudah dibaca, konversi output ke YAML dengan menambahkan -o yaml ke perintah berikut. Format ini sangat membantu saat Anda perlu memeriksa parameter, anotasi, atau spesifikasi resource tertentu.
Untuk melihat detail objek
RootSync, jalankan perintah berikut:kubectl describe rootsync ROOT_SYNC_NAME -n config-management-systemGanti
ROOT_SYNC_NAMEdengan nama objekRootSync.Untuk melihat detail objek
RepoSync, jalankan perintah berikut:kubectl describe reposync REPO_SYNC_NAME -n NAMESPACEGanti kode berikut:
REPO_SYNC_NAME: nama objekRepoSync.NAMESPACE: namespace tempat Anda membuat repositori namespace.
Melihat apakah resource sudah siap
Untuk mengetahui apakah resource yang disinkronkan ke cluster sudah siap, lihat status rekonsiliasi. Misalnya, melihat status rekonsiliasi dapat menunjukkan apakah Deployment yang disinkronkan siap untuk menyalurkan traffic.
Untuk sumber tepercaya yang disinkronkan ke cluster, status rekonsiliasi semua resource diagregasi dalam resource yang disebut ResourceGroup. Untuk setiap objek RootSync atau RepoSync, ResourceGroup dibuat untuk menangkap kumpulan resource yang diterapkan ke cluster dan mengagregasi statusnya.
Untuk melihat status rekonsiliasi objek
RootSync, jalankan perintah berikut:kubectl get resourcegroup.kpt.dev ROOT_SYNC_NAME -n config-management-system -o yamlGanti
ROOT_SYNC_NAMEdengan nama objekRootSync.Untuk melihat status rekonsiliasi objek
RepoSync, jalankan perintah berikut:kubectl get resourcegroup.kpt.dev REPO_SYNC_NAME -n NAMESPACE -o yamlGanti kode berikut:
REPO_SYNC_NAME: nama objekRepoSync.NAMESPACE: namespace tempat Anda membuat repositori namespace.
Dalam output, Anda akan melihat semua status resource ResourceGroup. Misalnya, output berikut menunjukkan bahwa Deployment bernama nginx-deployment sudah siap:
resourceStatuses:
- group: apps
kind: Deployment
name: nginx-deployment
namespace: default
status: Current
Melihat log
Untuk setiap objek RootSync dan RepoSync yang Anda buat, Config Sync akan membuat Deployment rekonsiliasi untuk melakukan sinkronisasi. Bagian ini menjelaskan cara melihat log untuk rekonsiliasi ini. Melihat log dapat membantu saat men-debug masalah dengan memberikan informasi tambahan tentang progres, peringatan, dan error di luar yang tersedia dalam status objek RootSync dan RepoSync.
Untuk melihat log rekonsiliasi
RootSyncatauRepoSync, jalankan perintah berikut:kubectl logs -n config-management-system deployment/RECONCILER_NAME CONTAINER_NAMEGanti kode berikut:
RECONCILER_NAME: nama rekonsiliasi objekRootSyncatauRepoSync.Untuk
RootSync, nama rekonsiliasi adalahroot-reconciler-ROOT_SYNC_NAMEatauroot-reconcilerjika namaRootSyncadalahroot-sync.Untuk
RepoSync, nama rekonsiliasi adalahns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTHatauns-reconciler-NAMESPACEjika namaRepoSyncadalahrepo-sync, denganNAMESPACEadalah namespace tempat Anda membuat objekRepoSync.
CONTAINER_NAME: nama container harus salah satu nilai berikut:reconciler,git-sync,hydration-controller,oci-sync, atauhelm-sync. Untuk mempelajari lebih lanjut container ini, lihat Container rekonsiliasi.
Mengonfigurasi tingkat log rekonsiliasi RootSync atau RepoSync
Untuk menyertakan informasi selengkapnya dalam log container, konfigurasi verbositas log. Secara default, sebagian besar container memiliki nilai default 0 untuk verbositas log. Pengecualian untuk hal ini adalah container git-sync dan otel-agent yang memiliki nilai default 5.
Saat mengubah verbositas log, perlu diingat bahwa peningkatan verbositas log akan menghasilkan biaya logging yang lebih tinggi karena ada volume data yang lebih besar yang dicatat.
Untuk mengubah verbositas log, gunakan kolom .spec.override.logLevels seperti yang ditunjukkan dalam contoh berikut:
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
name: root-sync
namespace: config-management-system
spec:
override:
logLevels:
- containerName: "reconciler"
logLevel: 0
- containerName: "git-sync"
logLevel: 10
Nilai di kolom containerName harus salah satu dari berikut ini: reconciler, git-sync, hydration-controller, oci-sync, atau helm-sync.
Untuk mengonfirmasi bahwa verbositas log dikonfigurasi, jalankan perintah berikut:
kubectl get deployment.apps/root-reconciler -n config-management-system -o yaml
Verbositas log dapat ditemukan sebagai salah satu args dalam spec.template.spec.containers[] dan terlihat seperti -v=0, dengan 0 adalah verbositas log saat ini. Dalam contoh ini, nilai verbositas log 0 hanya akan mencatat peristiwa penting.