Kolom spesifikasi gcloud apply

Halaman ini menjelaskan berbagai kolom yang dapat Anda tetapkan dalam file konfigurasi untuk Config Sync. Anda menggunakan file ini saat mengonfigurasi komponen Config Sync dengan Google Cloud CLI. Perintah gcloud CLI yang Anda gunakan untuk menerapkan file konfigurasi juga memiliki dokumentasi referensi.

Perintah ini juga dapat mengonfigurasi Pengontrol Kebijakan, tetapi sebaiknya Anda menggunakan perintah Policy Controller gcloud.

Format file yang digunakan dengan gcloud CLI mirip dengan format objek ConfigManagement. Namun formatnya berbeda dan keduanya tidak dapat dipertukarkan.

Konfigurasi untuk Config Sync

Kunci Deskripsi
spec.upgrades (Pratinjau) Setelan upgrade untuk Config Sync. Jika ditetapkan ke auto, versi Config Sync akan otomatis diupgrade. Untuk mengetahui informasi tentang cara kerja upgrade otomatis, lihat Mengupgrade Config Sync. Tetapkan ke manual untuk mengupgrade versi Config Sync secara manual. Nilai defaultnya adalah manual. Flag ini hanya didukung untuk cluster GKE di Google Cloud.
spec.configSync.enabled Jika true, aktifkan Config Sync. Jika false, nonaktifkan Config Sync. Diperlukan untuk gcloud CLI versi 429.0.0 dan yang lebih lama. Opsional untuk gcloud CLI versi 430.0.0 dan yang lebih baru. Default: true
spec.configSync.sourceType Jenis sumber tempat Config Sync harus disinkronkan. Menerima git atau oci. Default: git.
spec.configSync.syncRepo URL repositori Git, image OCI, atau chart Helm untuk digunakan sebagai sumber tepercaya. Anda dapat menghilangkan kolom ini jika belum menyiapkan repositori.
spec.configSync.syncBranch Cabang repositori Git yang akan disinkronkan. Kolom ini diabaikan jika .spec.configSync.sourceType ditetapkan ke oci. Kolom ini bersifat opsional dan defaultnya adalah master. Mulai dari Config Sync versi 1.17.0, sebaiknya gunakan kolom spec.configSync.syncRev untuk menentukan nama cabang agar lebih mudah. Jika kolom spec.configSync.syncRev dan kolom spec.configSync.syncBranch ditetapkan, spec.configSync.syncRev lebih diprioritaskan daripada spec.configSync.syncBranch.
spec.configSync.policyDir Jalur dalam repositori Git atau Image OCI ke direktori utama yang berisi konfigurasi yang ingin Anda sinkronkan. Default: direktori root repositori.
spec.configSync.syncWait Periode dalam detik antara sinkronisasi berturut-turut. Default: 15.
spec.configSync.syncRev Revisi Git (tag atau hash) yang akan disinkronkan. Kolom ini diabaikan jika .spec.configSync.sourceType ditetapkan ke oci. Kolom ini bersifat opsional dan nilai defaultnya adalah HEAD. Mulai dari Config Sync versi 1.17.0, Anda juga dapat menentukan nama cabang di kolom spec.configSync.syncRev. Saat menggunakan hash dalam versi 1.17.0 atau yang lebih baru, hash tersebut harus berupa hash lengkap, bukan bentuk singkatan.
spec.configSync.preventDrift Jika true, mengaktifkan webhook penerimaan Config Sync untuk mencegah penyimpangan dengan menolak perubahan yang bertentangan agar tidak dikirim ke cluster aktif. Default: false. Config Sync selalu memperbaiki penyimpangan, apa pun nilai kolom ini.
spec.configSync.secretType Jenis Secret yang dikonfigurasi untuk akses ke .spec.configSync.syncRepo. Jika Anda memilih git sebagai jenis sumber, nilainya harus ssh, cookiefile, gcenode, gcpserviceaccount, token, atau none. Jika Anda memilih oci sebagai jenis sumber, nilainya harus gcenode, gcpserviceaccount, atau none. Validasi kolom ini peka huruf besar/kecil. Wajib.
spec.configSync.gcpServiceAccountEmail Akun Layanan Google Cloud yang digunakan untuk menganotasi Akun Layanan Kubernetes pengontrol RootSync atau pengontrol RepoSync. Kolom ini hanya digunakan jika spec.configSync.secretType adalah gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail Email Akun Layanan Google Cloud (GSA) yang digunakan untuk mengekspor metrik Config Sync ke Cloud Monitoring. GSA harus memiliki peran IAM Monitoring Metric Writer (roles/monitoring.metricWriter). default ServiceAccount Kubernetes dalam namespace config-management-monitoring harus terikat dengan GSA.
spec.configSync.sourceFormat Jika ditetapkan ke unstructured, konfigurasi repo non-hierarkis akan dikonfigurasi. Default: hierarchy.

Konfigurasi proxy untuk repositori Git

Jika kebijakan keamanan organisasi mengharuskan Anda mengarahkan traffic melalui proxy HTTPS, Anda dapat menggunakan URI proxy untuk mengonfigurasi Config Sync agar dapat berkomunikasi dengan host Git. Proxy hanya didukung saat menggunakan jenis otorisasi cookiefile, none, atau token.

Kunci Deskripsi
spec.configSync.httpsProxy Menentukan variabel lingkungan HTTPS_PROXY yang digunakan untuk mengakses repositori Git. Sebagai contoh, https://proxy.internal.business.co:443.
Proxy HTTPS hanya menerima https atau URL tanpa dekorasi. URL yang berisi http:// ditolak.
Jika menggunakan URL biasa, pastikan komunikasi antara server proxy dan host Git aman.

Konfigurasi untuk Pengontrol Kebijakan

Kunci Deskripsi
spec.policyController.enabled Jika true, mengaktifkan Pengontrol Kebijakan. Setelan defaultnya adalah false.
spec.policyController.templateLibraryInstalled Jika true, menginstal library template batasan untuk jenis kebijakan umum. Setelan defaultnya adalah true.
spec.policyController.referentialRulesEnabled Jika true, akan mengaktifkan dukungan untuk batasan referensial. Pastikan Anda memahami peringatan tentang konsistensi tertunda. Setelan defaultnya adalah false.
spec.policyController.auditIntervalSeconds Periode dalam detik antara audit pelanggaran batasan berturut-turut. Tetapkan ke 0 untuk menonaktifkan pengauditan. Default: 60.
spec.policyController.logDeniesEnabled Jika true, mencatat semua penolakan dan kegagalan uji coba ke dalam log. Nilai defaultnya adalah false.
spec.policyController.mutationEnabled Jika true, mengaktifkan dukungan untuk mutasi. Nilai defaultnya adalah false.
spec.policyController.exemptableNamespaces Daftar namespace yang akan dihapus dari penerapan webhook akses masuk Pengontrol Kebijakan. Setiap pelanggaran akan tetap dilaporkan dalam audit. Default-nya adalah daftar kosong.
spec.policyController.monitoring.backends Daftar backend pemantauan untuk Pengontrol Kebijakan yang menjadi tujuan ekspor metrik. Default: [cloudmonitoring, prometheus].

Konfigurasi untuk Pengontrol Hierarki

Kunci Deskripsi
spec.hierarchyController.enabled Jika true, aktifkan Hierarchy Controller. Setelan defaultnya adalah false.
spec.hierarchyController.enableHierarchicalResourceQuota Jika true, kuota resource hierarkis akan diaktifkan. Setelan defaultnya adalah false.
spec.hierarchyController.enablePodTreeLabels Jika true, memungkinkan pengamatan workload hierarkis. Setelan defaultnya adalah false.

Contoh spesifikasi gcloud apply

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  hierarchyController:
    enabled: false