Halaman ini menunjukkan berbagai cara untuk memantau
Objek RootSync
dan RepoSync
.
Misalnya, Anda mungkin ingin memverifikasi apakah commit terbaru Anda dalam sumber kebenaran
diterapkan ke cluster dan berhasil direkonsiliasi.
Lihat 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-system
Ganti
ROOT_SYNC_NAME
dengan namaRootSync
.Untuk melihat commit yang disinkronkan untuk objek
RepoSync
, jalankan perintah berikut:kubectl get reposync REPO_SYNC_NAME -n REPO_SYNC_NAMESPACE
Ganti kode berikut:
REPO_SYNC_NAME
: nama objekRepoSync
.REPO_SYNC_NAMESPACE
: namespace tempat Anda membuat ke repositori namespace.
Output untuk perintah ini menunjukkan nilai commit sumber dan commit yang disinkronkan. Misalnya, jika Anda menjalankan perintah untuk RepoSync, Anda akan lihat output yang mirip dengan berikut ini:
NAME RENDERINGCOMMIT SOURCECOMMIT SYNCCOMMIT
root-sync 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72 66882815f0ef5517df27e864fb1315e97756ab72
Nilai dalam 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 dalam atribut
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 resource di commit direkonsiliasi
Karena ResourceGroups merekam status rekonsiliasi grup terkelola resource yang dideklarasikan dalam sumber tepercaya, Anda dapat memeriksanya untuk mengonfirmasi apakah resource dalam commit akan direkonsiliasi.
Objek ResourceGroup memiliki namespace dan nama yang sama
sebagai 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 yaml
Untuk mendapatkan objek ResourceGroup untuk objek
RepoSync
:kubectl get resourcegroup REPO_SYNC_NAME -n REPO_SYNC_NAMESPACE -o yaml
Ganti 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 ResourceGroup yang ingin Anda cari.
Untuk mengonfirmasi bahwa resource di commit telah direkonsiliasi, cari berikut ini dalam output:
.status.observedGeneration
sama dengan nilai kolom.metadata.generation
di objek ResourceGroup.- Kondisi
Stalled
dan kondisiReconciling
keduanya memilikistatus
sebagai"False"
. - Setiap item di kolom
.status.resourceStatuses
memiliki status sebagaiCurrent
.
Lihat error
Objek RootSync
dan RepoSync
menggunakan kolom status
untuk melacak error yang ditemukan
saat menyinkronkan konfigurasi dari sumber kebenaran ke cluster.
Untuk melihat status objek
RootSync
, jalankan perintah berikut:kubectl get rootsync ROOT_SYNC_NAME -n config-management-system -o yaml
Ganti
ROOT_SYNC_NAME
dengan namaRootSync
.Untuk melihat status objek
RepoSync
, jalankan perintah berikut:kubectl get reposync REPO_SYNC_NAME -n NAMESPACE -o yaml
Ganti kode berikut:
REPO_SYNC_NAME
: nama objekRepoSync
.NAMESPACE
: namespace tempat Anda membuat ke repositori namespace.
Untuk mempelajari subkolom lebih lanjut pada kolom status
, lihat
Status objek.
Melihat detail objek
Untuk melihat detail objek RootSync
dan RepoSync
serta untuk menemukan lebih banyak
informasi tentang potensi error, gunakan perintah kubectl describe
.
Output dari perintah ini mencakup peristiwa, yang bisa sangat membantu untuk masalah proses debug, seperti container menghadapi batasan memori (OOMKilled), kegagalan penjadwalan, atau error pengambilan gambar.
Agar format lebih mudah dibaca, konversi output ke YAML dengan menambahkan -o yaml
ke
perintah berikut. Format ini sangat membantu
ketika 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-system
Ganti
ROOT_SYNC_NAME
dengan nama ObjekRootSync
.Untuk melihat detail objek
RepoSync
, jalankan perintah berikut:kubectl describe reposync REPO_SYNC_NAME -n NAMESPACE
Ganti kode berikut:
REPO_SYNC_NAME
: nama objekRepoSync
.NAMESPACE
: namespace tempat Anda membuat ke 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 menampilkan jika Deployment yang disinkronkan siap menyalurkan traffic.
Untuk sumber tepercaya yang disinkronkan ke cluster, status rekonsiliasi semua
resource digabungkan dalam resource yang disebut ResourceGroup. Untuk setiap RootSync
atau
RepoSync
, ResourceGroup dibuat untuk menangkap kumpulan
resource yang diterapkan ke cluster dan menggabungkan statusnya.
Untuk melihat status rekonsiliasi objek
RootSync
, jalankan perintah berikut berikut:kubectl get resourcegroup.kpt.dev ROOT_SYNC_NAME -n config-management-system -o yaml
Ganti
ROOT_SYNC_NAME
dengan nama ObjekRootSync
.Untuk melihat status rekonsiliasi objek
RepoSync
, jalankan perintah berikut berikut:kubectl get resourcegroup.kpt.dev REPO_SYNC_NAME -n NAMESPACE -o yaml
Ganti kode berikut:
REPO_SYNC_NAME
: nama objekRepoSync
.NAMESPACE
: namespace tempat Anda membuat ke repositori namespace.
Pada output, Anda akan melihat semua status resource ResourceGroup. Sebagai
misalnya, output berikut menunjukkan bahwa Deployment bernama nginx-deployment
sudah siap:
resourceStatuses:
- group: apps
kind: Deployment
name: nginx-deployment
namespace: default
status: Current
Lihat log
Untuk setiap objek RootSync
dan RepoSync
yang Anda buat, Config Sync akan membuat
rekonsiliasi Deployment untuk melakukan sinkronisasi. Bagian ini menjelaskan cara melihat
log untuk rekonsiliasi ini. Melihat log dapat membantu saat
men-{i>debug<i} masalah dengan
memberikan informasi tambahan tentang kemajuan, peringatan, dan kesalahan di luar
apa yang tersedia dalam status objek RootSync
dan RepoSync
.
Guna melihat log untuk rekonsiliasi
RootSync
atauRepoSync
, jalankan perintah berikut berikut:kubectl logs -n config-management-system deployment/RECONCILER_NAME CONTAINER_NAME
Ganti kode berikut:
RECONCILER_NAME
: nama rekonsiliasi ObjekRootSync
atauRepoSync
.Untuk
RootSync
, nama rekonsiliasinya adalahroot-reconciler-ROOT_SYNC_NAME
atauroot-reconciler
jika namaRootSync
adalahroot-sync
.Untuk
RepoSync
, nama rekonsiliasinya adalahns-reconciler-NAMESPACE-REPO_SYNC_NAME-REPO_SYNC_NAME_LENGTH
atauns-reconciler-NAMESPACE
jika namaRepoSync
adalahrepo-sync
, denganNAMESPACE
adalah namespace tempat Anda membuat objekRepoSync
.
CONTAINER_NAME
: nama penampung harus satu dari nilai berikut:reconciler
,git-sync
,hydration-controller
,oci-sync
, atauhelm-sync
. Untuk mempelajari lebih lanjut tentang container ini, lihat Penampung rekonsiliasi.
Mengonfigurasi level log rekonsiliasi RootSync atau RepoSync
Untuk menyertakan informasi lainnya dalam log penampung, konfigurasi log
panjang. Secara default, sebagian besar penampung memiliki nilai default 0
untuk log
panjang. Pengecualian untuk hal ini adalah git-sync
dan otel-agent
container yang memiliki nilai default 5
.
Saat mengubah verbositas log, perlu diingat bahwa meningkatkan hasil verbositas log biaya logging yang lebih tinggi karena volume data yang tercatat lebih besar.
Untuk mengubah panjang log, gunakan kolom .spec.override.logLevels
seperti yang ditunjukkan di
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 berupa salah satu dari yang berikut:
reconciler
, git-sync
, hydration-controller
, oci-sync
, atau helm-sync
.
Untuk memastikan 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 nilai saat ini
panjang log. Dalam contoh ini, nilai verbositas log 0 hanya akan dicatat
peristiwa penting.