Halaman ini menjelaskan cara mengonfigurasi Config Sync menggunakan perintah kubectl setelah Anda
menginstal Config Sync menggunakan konsol Google Cloud atau Google Cloud CLI.
Meskipun Anda dapat membuat banyak perubahan konfigurasi menggunakan konsol atau CLI, Anda perlu menggunakan perintah kubectl untuk
mengganti beberapa default Config Sync, mengontrol verifikasi sertifikat SSL, dan menggunakan otoritas sertifikat.
Membuat dan mengedit file konfigurasi RootSync
Untuk mengonfigurasi Config Sync menggunakan perintah kubectl, Anda mengedit
objek RootSync dengan membuat
file YAML.
Saat Anda menginstal Config Sync menggunakan konsol Google Cloud atau
Google Cloud CLI, Config Sync akan otomatis membuat objek RootSync bernama
root-sync. Objek ini berisi informasi konfigurasi terbaru untuk
Config Sync. Setiap kali Anda membuat perubahan di konsol Google Cloud atau
Google Cloud CLI, root-sync akan diperbarui.
Pelajari kolom yang dapat Anda edit menggunakan kubectl
Anda dapat membuat perubahan lanjutan pada root-sync menggunakan perintah kubectl untuk kolom yang tidak didukung di konsol Google Cloud atau Google Cloud CLI. Jika Anda ingin
membuat lalu memperbarui objek RootSync atau RepoSync secara langsung menggunakan perintah kubectl, lihat
Kolom RootSync dan RepoSync.
Sebelum Anda membuat perubahan pada file YAML yang Anda buat di bagian berikut, pahami tabel berikut. Tabel ini mencantumkan kolom yang dapat Anda edit dan tambahkan. Jika Anda mengedit kolom yang tidak tercantum dalam tabel ini, Config Sync akan otomatis mengembalikan perubahan ke nilai yang Anda tetapkan saat terakhir kali mengonfigurasi Config Sync di Google Cloud konsol atau Google Cloud CLI.
| Kunci | Deskripsi | 
|---|---|
| spec.git.noSSLVerify | noSSLVerifymenentukan apakah akan mengaktifkan atau menonaktifkan verifikasi sertifikat SSL. Default:false.Jika noSSLVerifydisetel ketrue, Git akan melewati verifikasi sertifikat SSL. | 
| spec.git.caCertSecretRef.name | Nama Secret yang berisi sertifikat certificate authority (CA). Jika kolom ini diisi, server Git harus menggunakan sertifikat yang diterbitkan oleh CA ini. Sertifikat CA harus disimpan di Secret dengan kunci bernama `cert`. | 
| spec.override.resources | Daftar penggantian batas dan permintaan resource container. Opsional. Setiap item dalam daftar berisi tiga kolom: 
 Jika nilai penggantian untuk permintaan atau batas resource tidak diberikan, nilai resource default untuk permintaan atau batas akan digunakan. | 
| spec.override.gitSyncDepth | gitSyncDepthmemungkinkan Anda mengganti jumlah commit Git yang akan diambil.Tidak boleh kurang dari 0. Config Sync melakukan clone penuh jika kolom ini adalah 0, dan clone dangkal jika kolom ini lebih besar dari 0. Jika kolom ini tidak diisi, Config Sync akan mengonfigurasinya secara otomatis. | 
| spec.override.statusMode | statusModememungkinkan Anda mengaktifkan atau menonaktifkan pengambilan status tingkat resource.Defaultnya adalah enabled.Untuk menonaktifkan pengambilan status tingkat resource, tetapkan kolom ini ke disabled. | 
| spec.override.reconcileTimeout | reconcileTimeoutmemungkinkan Anda mengganti nilai minimum durasi tunggu resource dalam
      grup penerapan
      untuk melakukan rekonsiliasi sebelum menyerah. Semua resource dalam commit dapat berada di
      beberapa grup penerapan berdasarkan
      dependensi.Waktu tunggu default adalah 5m.Gunakan string untuk menentukan nilai kolom ini, misalnya 30s,5m. | 
| spec.override.enableShellInRendering | enableShellInRenderingmenentukan apakah akan mengaktifkan atau menonaktifkan
      akses shell dalam proses rendering. Dasar jarak jauh Kustomize memerlukan
      akses shell. Menyetel kolom ini ketrueakan mengaktifkan akses shell
      dalam proses rendering dan mendukung penarikan basis jarak jauh dari repositori
      publik.Defaultnya adalah false. | 
Buat file
Untuk membuat dan mengedit file konfigurasi untuk root-sync, selesaikan
langkah-langkah berikut:
- Untuk memastikan bahwa Anda mengambil informasi konfigurasi untuk cluster yang benar, konfigurasi akses command line - kubectl:- gcloud container clusters get-credentials CLUSTER_NAME \ --zone ZONE \ --project PROJECT_ID- Ganti kode berikut: - CLUSTER_NAME: nama cluster yang memiliki konfigurasi Config Sync yang ingin Anda ubah
- ZONE: zona tempat Anda membuat cluster
- PROJECT_ID: project ID Anda
 
- Salin informasi konfigurasi dari objek RootSync yang dibuat Config Sync ke dalam file YAML: - kubectl get rootsync root-sync -n config-management-system -o yaml > FILE_NAME.yaml- Ganti - FILE_NAMEdengan nama untuk file konfigurasi Anda.
- Buka file YAML yang Anda buat dan lakukan perubahan konfigurasi yang diperlukan. Misalnya, untuk mengganti batas memori penampung - git-sync, tambahkan kolom berikut yang dicetak tebal:- apiVersion: v1 items: - apiVersion: configsync.gke.io/v1beta1 kind: RootSync metadata: annotations: configmanagement.gke.io/managed-by-hub: "true" configmanagement.gke.io/update-time: "1644945169" creationTimestamp: "2022-02-15T17:12:52Z" generation: 1 name: root-sync namespace: config-management-system resourceVersion: "211980457" uid: aa30a94b-2825-4590-ad30-5af848403502 spec: git: auth: none branch: main dir: /quickstart/config-sync period: 15s repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples revision: HEAD secretRef: {} override: resources: - containerName: "git-sync" memoryLimit: "400Mi" sourceFormat: unstructured # Remainder of RootSync omitted
- Terapkan perubahan pada file YAML: - kubectl apply -f FILE_NAME.yaml
- Untuk memverifikasi bahwa Config Sync telah menerapkan perubahan Anda, lihat objek RootSync: - kubectl describe rootsync root-sync -n config-management-system
- Untuk memverifikasi bahwa perubahan Anda tidak menimbulkan error, gunakan perintah - nomos status:- nomos status
Mengonfigurasi Certificate Authority
Untuk server yang dikonfigurasi dengan sertifikat dari Certificate Authority (CA)
yang belum tepercaya, Config Sync dapat dikonfigurasi untuk menggunakan sertifikat CA
guna memverifikasi koneksi HTTPS ke server. Cara ini didukung untuk server Git, Helm, atau OCI. Sertifikat CA
harus mencakup sertifikat SSL lengkap (Root/Intermediate/Leaf).
Jika server Anda sudah menggunakan CA tepercaya atau Anda tidak terhubung melalui HTTPS, Anda dapat melewati langkah ini dan membiarkan caCertSecretRef tidak disetel.
RootSync
- Ambil sertifikat CA yang digunakan untuk menerbitkan sertifikat untuk server Git Anda dan simpan ke file. 
- Untuk objek - RootSync, Secret harus dibuat di namespace- config-management-system. Contoh:- kubectl create secret generic ROOT_CA_CERT_SECRET_NAME 
 --namespace=config-management-system
 --from-file=cert=/path/to/CA_CERT_FILE
- Saat mengonfigurasi objek - RootSync, tetapkan nilai kolom- caCertSecretRef.namedi objek- RootSyncke ROOT_CA_CERT_SECRET_NAME.
RepoSync
- Ambil sertifikat CA yang digunakan untuk menerbitkan sertifikat untuk server Git Anda dan simpan ke file. 
- Untuk objek - RepoSync, Secret harus dibuat di namespace yang sama dengan RepoSync. Contoh:- kubectl create secret generic NAMESPACE_CA_CERT_SECRET_NAME 
 --namespace=REPO_SYNC_NAMESPACE
 --from-file=cert=/path/to/CA_CERT_FILE
- Saat Anda mengonfigurasi - RepoSync, tetapkan nilai kolom- caCertSecretRef.namedalam objek- RepoSyncke NAMESPACE_CA_CERT_SECRET_NAME.
Hapus objek RootSync
Untuk menghapus root-sync, jalankan perintah berikut:
kubectl delete -f FILE_NAME
Ganti FILE_NAME dengan nama file konfigurasi RootSync Anda. Contoh, root-sync.yaml.
Menghapus objek RootSync atau RepoSync tidak akan menghapus anotasi dan label Config Sync. Untuk membersihkan semua resource terkelola, lakukan sinkronisasi dari direktori Git yang kosong.
Langkah berikutnya
- Pelajari lebih lanjut kolom RootSync dan RepoSync.
- Temukan cara Memantau objek RootSync dan RepoSync.