Kolom spesifikasi gcloud apply

Halaman ini menjelaskan berbagai kolom yang dapat Anda gunakan untuk mengonfigurasi Config Sync dengan flag --config pada Google Cloud CLI apply perintah dan flag --fleet-default-member-config pada enable perintah di jalur rilis beta. Skema kolom ini kini tidak disarankan di jalur rilis alpha dari perintah enable dan digantikan dengan skema API baru .

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

Konfigurasi umum untuk Pengelolaan Konfigurasi

Kunci Deskripsi
spec.version Versi Pengelolaan Konfigurasi. Jika Anda mengonfigurasi Pengelolaan Konfigurasi untuk cluster, versi defaultnya adalah versi saat ini dari instalasi Pengelolaan Konfigurasi di cluster tersebut. Jika tidak, untuk konfigurasi di seluruh fleet atau jika tidak ada instalasi yang ada di cluster target, defaultnya adalah versi terbaru.

Konfigurasi untuk Config Sync

Kunci Deskripsi
spec.cluster Nama cluster yang digunakan oleh Config Sync cluster-name-selector anotasi atau ClusterSelector, untuk menerapkan konfigurasi hanya ke sebagian cluster. Tetapkan kolom ini jika nama berbeda dari nama keanggotaan fleet cluster digunakan oleh Config Sync cluster-name-selector anotasi atau ClusterSelector.
spec.upgrades (Pratinjau) Setelan upgrade untuk Config Sync. Nilai default dan satu-satunya nilai yang didukung adalah manual.
spec.configSync.enabled Jika true, akan menginstal dan mengelola Config Sync. Jika false, akan meng-uninstal Config Sync yang sebelumnya dikelola dan mengabaikan konfigurasi .spec.configSync lainnya. Wajib 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 yang harus disinkronkan oleh Config Sync. Menerima git atau oci. Default: git.
spec.configSync.syncRepo URL repositori Git atau image OCI yang akan digunakan sebagai sumber tepercaya. Anda dapat menghapus kolom ini jika tidak memiliki repositori yang disiapkan.
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. Sebaiknya gunakan kolom spec.configSync.syncRev untuk menentukan nama cabang. Jika kedua kolom digunakan, kolom spec.configSync.syncRev akan diprioritaskan daripada spec.configSync.syncBranch.
spec.configSync.policyDir Jalur dalam repositori Git atau Image OCI ke direktori root 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) atau cabang yang akan disinkronkan. Kolom ini diabaikan jika .spec.configSync.sourceType ditetapkan ke oci. Kolom ini bersifat opsional dan nilai defaultnya adalah HEAD. Saat menggunakan hash, hash tersebut harus hash lengkap, bukan bentuk yang disingkat.
spec.configSync.preventDrift Jika true, akan 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.stopSyncing Jika true, akan menghentikan sinkronisasi konfigurasi untuk satu cluster. Defaultnya adalah false.
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 diisi.
spec.configSync.gcpServiceAccountEmail Akun Layanan yang digunakan untuk menganotasi Akun Layanan Kubernetes pengontrol RootSync atau RepoSync. Google Cloud Kolom ini hanya digunakan jika spec.configSync.secretType adalah gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail Tidak digunakan lagi: Jika Workload Identity Federation untuk GKE diaktifkan, Google Cloud Akun Layanan tidak diperlukan untuk mengekspor metrik Config Sync. Sebagai gantinya, gunakan Akun Layanan Kubernetes.
spec.configSync.sourceFormat Jika ditetapkan ke unstructured, akan mengonfigurasi repo non-hierarkis. Default: hierarchy.
spec.configSync.deploymentOverrides Daftar konfigurasi penggantian resource untuk deployment Config Sync. Kolom ini hanya berlaku untuk deployment Config Sync dengan container yang bukan rekonsiliasi root atau namespace, seperti reconciler-manager. Jika Anda harus mengganti rekonsiliasi root atau namespace gunakan kolom rootsync atau reposync sebagai gantinya. Opsional.
spec.configSync.deploymentOverrides.name Nama deployment Config Sync yang akan diganti. Nilai tidak boleh kosong.
spec.configSync.deploymentOverrides.namespace Namespace deployment Config Sync yang akan diganti. Nilai tidak boleh kosong.
spec.configSync.deploymentOverrides.containers Daftar konfigurasi penggantian untuk permintaan dan batas container Config Sync. Opsional.
spec.configSync.deploymentOverrides.containers.name Nama container Config Sync yang akan diganti. Nilai tidak boleh kosong.
spec.configSync.deploymentOverrides.containers.cpuRequest Permintaan CPU untuk container. Gunakan unit resource CPU di Kubernetes. Opsional.
spec.configSync.deploymentOverrides.containers.cpuLimit Batas CPU untuk container. Gunakan unit resource CPU di Kubernetes. Opsional.
spec.configSync.deploymentOverrides.containers.memoryRequest Permintaan memori untuk container. Gunakan unit resource memori di Kubernetes. Opsional.
spec.configSync.deploymentOverrides.containers.memoryLimit Batas memori untuk container. Gunakan unit resource memori di Kubernetes. Opsional.

Konfigurasi proxy untuk repositori Git

Jika kebijakan keamanan organisasi Anda mengharuskan Anda merutekan traffic melalui proxy HTTPS, Anda dapat menggunakan URI proxy untuk mengonfigurasi Config Sync agar berkomunikasi dengan host Git Anda. 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. Misalnya, https://proxy.internal.business.co:443.
Proxy HTTPS hanya menerima https atau URL tanpa protokol. URL yang berisi http:// akan ditolak.
Jika menggunakan URL tanpa protokol, pastikan komunikasi antara server proxy dan host Git Anda aman.

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

Contoh spesifikasi gcloud apply dengan penggantian resource deployment

Jika Anda ingin menyesuaikan permintaan dan batas resource Config Sync, tambahkan kolom deploymentOverrides dalam spesifikasi penerapan Anda. Misalnya, YAML berikut mengganti batas CPU dan memori untuk container reconciler-manager:

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    deploymentOverrides:
    - name: reconciler-manager
      namespace: config-management-system
      containers:
      - name: reconciler-manager
        cpuRequest: 50m
        cpuLimit: 100m
        memoryRequest: 256Mi
        memoryLimit: 512Mi