Kolom spesifikasi gcloud apply

Halaman ini menjelaskan berbagai kolom yang dapat Anda gunakan untuk mengonfigurasi Config Sync dengan flag --config pada perintah Google Cloud CLI apply dan flag --fleet-default-member-config pada perintah enable di jalur rilis beta. Skema kolom ini kini tidak disarankan di jalur rilis alpha 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 Config Management

Kunci Deskripsi
spec.version Versi Config Management. Jika Anda mengonfigurasi Config Management untuk cluster, versi defaultnya adalah versi penginstalan Config Management saat ini di cluster tersebut. Jika tidak, untuk konfigurasi seluruh armada atau jika tidak ada penginstalan yang ada di cluster target, defaultnya adalah versi terbaru.

Konfigurasi untuk Config Sync

Kunci Deskripsi
spec.cluster Nama cluster yang digunakan oleh Config Sync anotasi cluster-name-selector atau ClusterSelector, untuk menerapkan konfigurasi hanya ke sebagian kecil cluster. Tetapkan kolom ini jika nama yang berbeda dari nama keanggotaan fleet cluster digunakan oleh anotasi cluster-name-selector atau ClusterSelector Config Sync.
spec.upgrades (Pratinjau) Setelan upgrade untuk Config Sync. Nilai default dan satu-satunya yang didukung adalah manual.
spec.configSync.enabled Jika true, menginstal dan mengelola Config Sync. Jika false, akan menghapus Config Sync yang dikelola sebelumnya 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, image OCI, atau diagram Helm yang akan digunakan sebagai sumber tepercaya. Anda dapat menghilangkan kolom ini jika Anda tidak 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. 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 di 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 berupa hash lengkap, bukan bentuk singkat.
spec.configSync.preventDrift Jika true, mengaktifkan webhook penerimaan Config Sync untuk mencegah penyimpangan dengan menolak perubahan yang bertentangan agar tidak didorong ke cluster aktif. Default: false. Config Sync selalu memperbaiki penyimpangan, apa pun nilai kolom ini.
spec.configSync.stopSyncing Jika true, menghentikan sinkronisasi konfigurasi untuk satu cluster. Nilai 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.
spec.configSync.gcpServiceAccountEmail Google Cloud Akun Layanan yang digunakan untuk menganotasi RootSync atau Akun Layanan Kubernetes pengontrol RepoSync. Kolom ini hanya digunakan jika spec.configSync.secretType adalah gcpserviceaccount.
spec.configSync.metricsGcpServiceAccountEmail Tidak digunakan lagi: Jika Workload Identity Federation for GKE diaktifkan, Google Cloud Akun Layanan tidak diperlukan untuk mengekspor metrik Config Sync. Gunakan Akun Layanan Kubernetes sebagai gantinya.
spec.configSync.sourceFormat Jika disetel 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 penampung yang bukan rekonsiliasi root atau namespace, seperti reconciler-manager. Jika Anda harus mengganti rekonsiliasi root atau namespace, gunakan kolom rootsync atau reposync. 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 dapat 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. Sebagai contoh, https://proxy.internal.business.co:443.
Proxy HTTPS hanya menerima URL https atau URL tanpa dekorasi. URL yang berisi http:// ditolak.
Jika menggunakan URL tanpa hiasan, 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 di 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