Kolom RootSync dan RepoSync

Halaman ini menyediakan referensi untuk kolom dalam objek RootSync, RepoSync, dan ResourceGroup. Untuk mempelajari cara kerja objek ini lebih lanjut, lihat arsitektur Sinkronisasi Konfigurasi.

Kolom RootSync dan RepoSync

Objek resource RootSync dan RepoSync memiliki kolom yang sama dengan pengecualian kolom khusus RootSync berikut:

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace
  • spec.override.roleRefs

Konfigurasi untuk format sumber

Kunci Deskripsi
spec.sourceFormat sourceFormat menentukan cara repositori diformat. Opsional.
Validasi kolom ini peka huruf besar/kecil.
  • Untuk objek RootSync, nilainya harus salah satu dari hierarchy atau unstructured. Nilai defaultnya adalah hierarchy jika tidak ditentukan, tetapi unstructured direkomendasikan.
Lihat format tidak terstruktur dan hierarkis untuk memandu detail selengkapnya.

Konfigurasi untuk jenis sumber

Kunci Deskripsi
spec.sourceType sourceType menentukan tipe sumber kebenaran. Harus salah satu dari git, oci, atau helm. Opsional.
Tetapkan ke git jika tidak ditentukan. Validasi kolom ini peka huruf besar/kecil.

Konfigurasi untuk repositori Git

Kunci Deskripsi
spec.git.auth Jenis Secret yang dikonfigurasi untuk akses ke repo Git. Harus berupa ssh, cookiefile, gcenode, gcpserviceaccount, token, atau none. Validasi kolom ini peka huruf besar/kecil. Wajib.
spec.git.gcpServiceAccountEmail Akun layanan Google Cloud yang digunakan untuk menganotasi Akun Layanan Kubernetes pengontrol RootSync atau RepoSync. Kolom ini hanya digunakan jika spec.git.auth adalah gcpserviceaccount.
spec.git.branch Cabang Git repositori yang akan disinkronkan. Kolom ini bersifat opsional dan nilai defaultnya adalah master. Mulai dari Config Sync versi 1.17.0, sebaiknya gunakan kolom spec.git.revision untuk menentukan nama cabang agar lebih mudah. Jika kolom spec.git.revision dan kolom spec.git.branch ditetapkan, spec.git.revision lebih diprioritaskan daripada spec.git.branch.
spec.git.dir Jalur absolut dalam repositori Git ke direktori utama yang berisi konfigurasi yang ingin Anda sinkronkan. Default: direktori root (/) repositori.
spec.git.period Durasi waktu antara sinkronisasi berturut-turut. Default: 15s.
spec.git.repo URL repositori Git yang akan disinkronkan. Wajib.
spec.git.revision Revisi Git (cabang, tag, atau commit) yang akan disinkronkan. 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.git.revision. Saat menggunakan hash di versi 1.17.0 atau yang lebih baru, hash tersebut harus berupa hash lengkap, bukan bentuk singkat.
spec.git.secretRef.name Nama Secret yang digunakan untuk terhubung ke sumber kebenaran Git.
spec.git.noSSLVerify1 noSSLVerify menentukan apakah akan mengaktifkan atau menonaktifkan verifikasi sertifikat SSL. Default: false.
Jika noSSLVerify disetel ke benar (true), sistem akan memberi tahu Git untuk melewati verifikasi sertifikat SSL.
spec.git.caCertSecretRef.name1 Nama Rahasia yang berisi sertifikat certificate authority (CA). Jika kolom ini disediakan, server git harus menggunakan sertifikat yang diterbitkan oleh CA ini. Sertifikat CA harus disimpan dalam Secret di bawah kunci bernama "cert".

Konfigurasi proxy untuk repositori Git

Jika kebijakan keamanan organisasi mengharuskan Anda mengarahkan traffic melalui proxy HTTP(S), Anda dapat menggunakan URI proxy untuk mengonfigurasi Config Sync untuk berkomunikasi dengan host Git.

Kunci Deskripsi
spec.git.proxy URL proxy dengan skema untuk mengonfigurasi akses ke repo Git menggunakan proxy. Contoh: https://proxy.internal.business.co:443
Proxy Git menerima https, http, dan URL biasa, tetapi http tidak direkomendasikan karena masalah keamanan.
Jika menggunakan http atau URL biasa, pastikan komunikasi antara server proxy dan host Git aman.
Kolom ini hanya berpengaruh jika spec.git.auth adalah cookiefile, none, atau token.

Konfigurasi untuk image OCI

Config Sync mengharuskan lapisan OCI dikompresi dalam format tar atau tar+gzip.

Format lain (misalnya, tar+bz2) tidak akan dikenali oleh Config Sync. Beralih dari REPO yang valid ke image OCI dengan format yang tidak didukung akan menyebabkan resource terkelola dipangkas tanpa error.

Kunci Deskripsi
spec.oci.auth Jenis autentikasi yang dikonfigurasi untuk akses ke image OCI. Harus gcenode, k8sserviceaccount, gcpserviceaccount, atau none. Validasi kolom ini peka huruf besar/kecil. Wajib.
spec.oci.gcpServiceAccountEmail Akun layanan Google Cloud yang digunakan untuk menganotasi Akun Layanan Kubernetes pengontrol RootSync atau RepoSync. Kolom ini hanya digunakan jika spec.oci.auth adalah gcpserviceaccount.
spec.oci.dir Jalur absolut dalam image OCI ke direktori utama yang berisi konfigurasi yang ingin Anda sinkronkan. Default: direktori utama (/) image.
spec.oci.period Durasi waktu antara sinkronisasi berturut-turut. Default: 15s.
spec.oci.image URL image OCI yang akan disinkronkan. Wajib.

Konfigurasi untuk repositori Helm

Kunci Deskripsi
spec.helm.auth Jenis autentikasi yang dikonfigurasi untuk akses ke repositori Helm. Harus berupa token, gcenode, k8sserviceaccount, gcpserviceaccount, atau none. Validasi kolom ini peka huruf besar/kecil. Wajib.
spec.helm.gcpServiceAccountEmail Akun layanan Google Cloud yang digunakan untuk menganotasi Akun Layanan Kubernetes pengontrol RootSync atau RepoSync. Kolom ini hanya digunakan jika spec.helm.auth adalah gcpserviceaccount.
spec.helm.secretRef.name Nama Secret yang digunakan untuk mengakses repositori Helm. Kolom ini hanya digunakan jika spec.helm.auth adalah token.
spec.helm.repo URL repositori Helm yang akan disinkronkan. Wajib.
spec.helm.chart Nama diagram Helm. Wajib.
spec.helm.version

Nomor versi chart Helm. Default: versi terbaru.

Pada versi Config Sync sebelum 1.16.0, kolom versi tersedia, tetapi hanya versi statis yang didukung dan diagram tidak ditarik ulang. Pada Config Sync versi 1.16.0 dan yang lebih baru, kolom versi dapat ditentukan sebagai nilai statis, sebagai rentang versi dari Config Sync yang mengambil data terbaru atau dibiarkan kosong untuk menunjukkan bahwa Config Sync seharusnya berada dalam diagram terbaru menurut semver. Jika ditetapkan sebagai rentang atau dibiarkan kosong untuk menunjukkan yang terbaru, Config Sync akan menarik kembali diagram setiap 1 jam secara default. Pada Config Sync versi 1.16.1 dan yang lebih baru, periode penarikan ulang dapat dikonfigurasi dengan kolom spec.helm.period. Jika versi ditentukan sebagai string literal "latest", diagram akan ditampilkan ulang menurut spec.helm.period, seperti dengan rentang versi atau versi kosong.

Sintaksis rentang versi identik dengan sintaksis rentang versi yang didukung oleh Helm CLI.

Menentukan versi sebagai rentang atau membiarkan nilai tetap kosong dapat menyebabkan tingginya penggunaan CPU untuk diagram besar dengan banyak versi. Anda dapat menggunakan spec.override untuk meningkatkan permintaan CPU bagi container sinkronisasi helm, seperti dalam contoh berikut:


    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

Pada Config Sync versi 1.16.1 dan yang lebih baru, spec.helm.period adalah durasi waktu yang ditunggu Config Sync sebelum menarik kembali diagram.

Nilai defaultnya adalah 1 jam. Kolom ini menerima nilai string, misalnya "30s" atau "5m". Lihat Dokumentasi Go tentang input yang valid untuk informasi selengkapnya.

Jika versi diagram adalah rentang, tag literal "latest" digunakan atau dibiarkan kosong untuk menunjukkan bahwa Config Sync harus mengambil versi terbaru, diagram akan ditarik ulang sesuai dengan spec.helm.period. Jika versi diagram ditetapkan sebagai versi statis tunggal, diagram tidak akan ditarik ulang.

spec.helm.releaseName Nama rilis Helm.
spec.helm.namespace Fitur ini sama-sama bersifat eksklusif dengan spec.helm.deployNamespace.
namespace menetapkan namespace target untuk rilis. Kolom ini hanya digunakan dengan objek RootSync. Atribut ini hanya menetapkan namespace untuk resource yang berisi namespace: {{ .Release.Namespace }} dalam template-nya. Nilai yang ditentukan dalam spec.helm.namespace hanya digunakan sebagai nilai Release.Namespace yang dideklarasikan dalam template Helm Anda. Untuk resource yang tidak memiliki namespace: {{ .Release.Namespace }} dalam templatenya, namespace default akan digunakan. Default: default
spec.helm.deployNamespace Fitur ini sama-sama bersifat eksklusif dengan spec.helm.namespace.
deployNamespace menentukan namespace mana yang akan di-deploy diagram. Menetapkan kolom ini akan memanfaatkan fungsi kpt set-namespace, yang menyebabkan Config Sync mengganti kolom namespace resource dalam diagram, termasuk metadata.namespace resource cakupan namespace, metadata.name objek Namespace, dan referensi namespace di beberapa jenis resource khusus.
Jika deployNamespace tidak ditetapkan, resource yang tidak memiliki metadata.namespace akan di-deploy ke namespace default.
spec.helm.values

Nilai yang akan digunakan, bukan nilai default yang menyertai diagram. Format nilai dengan cara yang sama dengan values.yaml default. Contoh:


values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

Jika valuesFileRefs juga ditentukan, kolom dari values akan menggantikan kolom dari valuesFileRefs.

Untuk mengetahui informasi selengkapnya, lihat manifes contoh Helm.

spec.helm.includeCRDs Menentukan apakah template Helm harus membuat CustomResourceDefinitions. Default: false.
spec.helm.valuesFileRefs

Daftar referensi ke objek dalam cluster yang mewakili nilai yang akan digunakan, bukan nilai default yang menyertai diagram. Hanya ConfigMaps yang didukung. ConfigMap harus tidak dapat diubah dan berada dalam namespace yang sama dengan RootSync atau RepoSync.

ConfigMaps tidak dapat diubah. Untuk mengubah valuesFile setelah sinkronisasi, Anda harus membuat ConfigMap dengan nama berbeda dan memperbarui RootSync atau RepoSync spec.valuesFileRefs.name.

Jika beberapa file nilai ditentukan, kunci duplikat di file berikutnya akan menggantikan nilai dari file sebelumnya. Tindakan ini sama dengan meneruskan beberapa file nilai ke Helm CLI. Jika spec.helm.values juga ditentukan, kolom dari values akan menggantikan kolom dari valuesFileRefs.

Setiap item dalam daftar harus berisi hal berikut:

  • name (wajib): nama objek ConfigMap
  • dataKey (opsional): kunci data dalam objek untuk membaca nilai. Default: values.yaml

Kolom ini didukung dalam versi 1.16.0 dan yang lebih baru.

Untuk mengetahui contoh cara mengubah nilai, lihat Menyinkronkan diagram Helm.

Konfigurasi untuk mengganti permintaan resource dan batas rekonsiler root atau namespace

Anda dapat mengganti penampung git-sync, oci-sync, helm-sync, hydration-controller, dan reconciler. Penggantian sebagian diizinkan: jika nilai penggantian untuk permintaan atau batas resource tidak disediakan, nilai resource default untuk permintaan atau batas akan digunakan.

Untuk Cluster Autopilot, Sinkronisasi Konfigurasi mengabaikan penggantian batas resource. Penggantian permintaan resource hanya diterapkan jika ada satu atau beberapa permintaan resource yang lebih tinggi daripada output terkait yang disesuaikan dan dideklarasikan dalam anotasi, atau ada satu atau beberapa permintaan resource yang lebih rendah daripada input terkait yang dideklarasikan dalam anotasi. Untuk mengetahui informasi selengkapnya, lihat Persyaratan cluster untuk Config Sync.

Kunci Deskripsi
spec.override.resources1 Daftar permintaan resource penampung dan penggantian batas. Opsional.
Setiap item dalam daftar berisi tiga kolom:
  • containerName: kolom ini dapat berupa git-sync, oci-sync, helm-sync, hydration-controller, atau reconciler.
  • cpuRequest (opsional)
  • cpuLimit (opsional)
  • memoryRequest (opsional)
  • memoryLimit (opsional)

Jika nilai penggantian untuk permintaan atau batas resource tidak diberikan, nilai resource default untuk permintaan atau batas akan digunakan.

Konfigurasi untuk mengganti level log container di rekonsiler root atau namespace

Jika nilai penggantian tingkat log tidak ditetapkan, tingkat log akan dikonfigurasi sebagai nilai default. Level log default untuk semua penampung dalam rekonsiler RootSync atau RepoSync adalah 0, kecuali penampung git-sync yang defaultnya adalah 5. Nilai penggantian tingkat log yang diterima adalah antara 0 hingga 10 inklusif.

Kunci Deskripsi
spec.override.logLevels Daftar nilai penggantian tingkat log penampung. Opsional.
Setiap item dalam daftar berisi dua kolom:
  • containerName: kolom ini dapat berupa git-sync, oci-sync, helm-sync, hydration-controller, atau reconciler.
  • logLevel

Jika nilai penggantian untuk level log penampung tidak diberikan, nilai level log default akan digunakan.

Konfigurasi untuk jumlah commit Git yang akan diambil

Kunci Deskripsi
spec.override.gitSyncDepth1 gitSyncDepth memungkinkan Anda mengganti jumlah commit Git yang akan diambil.
Tidak boleh kurang dari 0.
Config Sync melakukan clone penuh jika kolom ini bernilai 0, dan clone dangkal jika kolom ini lebih besar dari 0.
Jika kolom ini tidak disediakan, Config Sync akan otomatis mengonfigurasinya.

Konfigurasi untuk mengambil status level resource

Kunci Deskripsi
spec.override.statusMode1 statusMode memungkinkan Anda mengaktifkan atau menonaktifkan perekaman status tingkat resource.
Defaultnya adalah enabled.
Untuk menonaktifkan pengambilan status level resource, tetapkan kolom ini ke disabled.

Konfigurasi untuk mengganti waktu tunggu rekonsiliasi

Kunci Deskripsi
spec.override.reconcileTimeout1 reconcileTimeout memungkinkan Anda mengganti nilai minimum terkait durasi tunggu resource dalam grup penerapan untuk direkonsiliasi sebelum berhenti. Semua resource dalam commit dapat berada di beberapa grup penerapan berdasarkan dependensi.
Waktu tunggu default adalah 5m.
Gunakan string untuk menentukan nilai kolom ini, seperti 30s, 5m.

Konfigurasi untuk mengganti waktu tunggu permintaan ke server API

Kunci Deskripsi
spec.override.apiServerTimeout1 apiServerTimeout memungkinkan Anda mengganti waktu tunggu untuk permintaan ke server API. Waktu tunggu default adalah 5s pada versi yang lebih lama dari 1.16.0, serta 15s pada versi 1.16.0 dan yang lebih baru.
Gunakan string untuk menentukan nilai kolom ini, seperti 30s, 5m.

Konfigurasi untuk akses shell dalam proses rendering

Kunci Deskripsi
spec.override.enableShellInRendering1 enableShellInRendering menentukan apakah akan mengaktifkan atau menonaktifkan akses shell dalam proses rendering. Kustomize basis jarak jauh memerlukan akses shell. Menetapkan kolom ini ke true akan mengaktifkan akses shell dalam proses rendering dan mendukung pengambilan basis jarak jauh dari repositori publik.
Defaultnya adalah false.

Konfigurasi untuk strategi namespace (khusus RootSync)

Kunci Deskripsi
spec.override.namespaceStrategy1 namespaceStrategy mengontrol cara rekonsiler menangani konfigurasi Namespace yang tidak ada dari objek cakupan namespace yang dideklarasikan dalam sumber. Hanya berlaku saat menggunakan sourceFormat unstructured.
  • implicit: rekonsiler akan membuat Namespace secara implisit jika tidak ada, meskipun tidak dideklarasikan dalam sumber. Namespace Implisit dibuat dengan anotasi cegah penghapusan dan dikelola oleh Config Sync.
  • explicit: rekonsiler hanya akan membuat Namespace yang dideklarasikan secara eksplisit dalam sumber.

Defaultnya adalah implicit.

Konfigurasi untuk binding RBAC (khusus RootSync)

Kunci Deskripsi
spec.override.roleRefs1 roleRefs adalah daftar Peran atau ClusterRoles untuk membuat binding. Setiap item dalam daftar berisi kolom berikut:
  • kind (wajib): merujuk pada Jenis resource RBAC. Nilai yang diterima adalah Role dan ClusterRole.
  • name (wajib): nama resource Role atau ClusterRole.
  • namespace (opsional): menunjukkan Namespace tempat RoleBinding harus dibuat. Untuk objek ClusterRole, akan menentukan apakah RoleBinding atau ClusterRoleBinding dibuat. Untuk objek Peran, harus ditetapkan ke namespace yang sama dengan Peran.

Jika tidak disetel, ClusterRoleBinding ke cluster-admin akan dibuat.

Status objek

Kunci Deskripsi
status.observedGeneration Pembuatan (metadata.generation) spesifikasi resource RootSync atau RepoSync yang terakhir diamati dan ditindaklanjuti oleh Config Sync. Nilai ini dapat dibandingkan dengan metadata.generation, yang merupakan bilangan bulat dan diperbarui berdasarkan mutasi spesifikasi oleh server API.
status.reconciler Nama proses rekonsiliasi yang sesuai dengan resource sinkronisasi.
status.source.gitStatus.repo URL repositori Git yang sedang diambil.
status.source.gitStatus.revision Revisi Git (tag, commit, atau hash) yang diambil.
status.source.gitStatus.branch Cabang Git dari repositori yang sedang diambil.
status.source.gitStatus.dir Jalur absolut dalam repositori Git ke direktori utama yang berisi konfigurasi yang ingin Anda sinkronkan.
status.source.ociStatus.image URL gambar OCI sedang diambil.
status.source.ociStatus.dir Jalur absolut dalam image OCI ke direktori utama yang berisi konfigurasi yang Anda sinkronkan.
status.source.helmStatus.repo URL repositori helm sedang diambil.
status.source.helmStatus.version Versi diagram helm sedang diambil.
status.source.helmStatus.chart Nama diagram helm yang diambil.
status.source.commit Hash commit atau ringkasan terbaru yang diambil dari URL sumber.
status.source.errors Error yang terjadi saat membaca dan mengurai konfigurasi dari sumber tepercaya. Ini mungkin tidak mencakup semua error yang ditemukan, karena Config Sync akan memotong error jika ada terlalu banyak error.
status.source.errorSummary.totalCount Bilangan bulat yang melacak jumlah total error yang terjadi saat membaca dan menguraikan konfigurasi dari sumber tepercaya.
status.source.errorSummary.truncated Boolean yang menunjukkan apakah kolom status.source.errors menyertakan semua error yang ditemukan saat membaca dan menguraikan konfigurasi dari sumber tepercaya.
status.source.errorSummary.errorCountAfterTruncation Bilangan bulat yang melacak jumlah error di kolom status.source.errors.
status.rendering.gitStatus.repo URL repositori Git yang sedang dirender.
status.rendering.gitStatus.revision Revisi Git (tag, commit, atau hash) yang dirender.
status.rendering.gitStatus.branch Cabang Git dari repositori yang sedang dirender.
status.rendering.gitStatus.dir Jalur absolut dalam repositori Git ke direktori utama yang berisi konfigurasi yang Anda rendering.
status.rendering.ociStatus.image URL gambar OCI sedang dirender.
status.rendering.ociStatus.dir Jalur absolut dalam image OCI ke direktori utama yang berisi konfigurasi yang Anda render.
status.rendering.helmStatus.repo URL repositori helm sedang dirender.
status.rendering.helmStatus.version Versi diagram helm sedang dirender.
status.rendering.helmStatus.chart Nama diagram helm yang dirender.
status.rendering.commit Hash commit atau ringkasan terbaru yang dirender. Nilai ini diupdate meskipun commit atau digest hanya disinkronkan sebagian karena terjadi error.
status.rendering.errors Daftar setiap error yang ditemukan selama proses rendering resource dari perubahan yang ditunjukkan oleh status.rendering.commit. Ini mungkin tidak mencakup semua error yang ditemukan, karena Config Sync akan memotong error jika ada terlalu banyak error.
status.rendering.errorSummary.totalCount Bilangan bulat yang melacak jumlah total error yang terjadi selama proses rendering konfigurasi dari sumber tepercaya.
status.rendering.errorSummary.truncated Boolean yang menunjukkan apakah kolom status.rendering.errors menyertakan semua error yang ditemui selama proses rendering konfigurasi dari sumber tepercaya.
status.rendering.errorSummary.errorCountAfterTruncation Bilangan bulat yang melacak jumlah error di kolom status.rendering.errors.
status.sync.gitStatus.repo URL repositori Git sedang disinkronkan.
status.sync.gitStatus.revision Revisi Git (tag, commit, atau hash) yang sedang disinkronkan.
status.sync.gitStatus.branch Cabang Git dari repositori yang sedang disinkronkan.
status.sync.gitStatus.dir Jalur absolut dalam repositori Git ke direktori utama yang berisi konfigurasi yang ingin Anda sinkronkan.
status.sync.ociStatus.image URL image OCI sedang disinkronkan.
status.sync.ociStatus.dir Jalur absolut dalam image OCI ke direktori utama yang berisi konfigurasi yang Anda sinkronkan.
status.sync.helmStatus.repo URL repositori helm sedang disinkronkan.
status.sync.helmStatus.version Versi diagram helm sedang disinkronkan.
status.sync.helmStatus.chart Nama diagram helm yang sedang disinkronkan.
status.sync.commit Hash commit atau digest terbaru yang disinkronkan ke cluster. Nilai ini diupdate meskipun commit atau digest hanya disinkronkan sebagian karena terjadi error.
status.sync.errors Daftar error yang terjadi saat menerapkan resource dari perubahan yang ditunjukkan oleh status.sync.commit. Ini mungkin tidak mencakup semua error yang ditemukan, karena Config Sync akan memotong error jika ada terlalu banyak error.
status.sync.errorSummary.totalCount Bilangan bulat yang melacak jumlah total error yang terjadi saat menerapkan konfigurasi dari sumber tepercaya.
status.sync.errorSummary.truncated Boolean yang menunjukkan apakah kolom status.sync.errors menyertakan semua error yang ditemui saat menerapkan konfigurasi dari sumber tepercaya.
status.sync.errorSummary.errorCountAfterTruncation Bilangan bulat yang melacak jumlah error di kolom status.sync.errors.
status.conditions Daftar kondisi yang melacak status objek RootSync atau RepoSync saat ini.
Jika kolom type suatu kondisi adalah Reconciling atau Stalled:
  • Kolom errors dalam kondisi melacak error yang terjadi saat merekonsiliasi objek RootSync atau RepoSync
  • Kolom errorSummary kondisi merangkum error di kolom errors kondisi
  • Kolom errorsSourceRefs untuk kondisi kosong
Jika jenis kondisi adalah Syncing:
  • Kolom errors untuk kondisi kosong
  • Kolom errorsSourceRefs kondisi melacak asal-usul error. Asal-usul error dapat berupa status.rendering.errors, status.source.errors, atau status.sync.errors.
  • Kolom errorSummary kondisi merangkum error yang dirujuk di kolom errorsSourceRefs.

1 Jika Anda membuat file konfigurasi RootSync setelah menginstal dengan Konsol Google Cloud atau Google Cloud CLI, Anda dapat menimpa kolom ini.

Kolom ResourceGroup

Kolom spesifikasi dan status

Kunci Deskripsi
spec.resources Daftar ID (Group, Kind, Namespace, Name) untuk resource yang diterapkan ke cluster dari repositori Git yang ditentukan dalam CR RepoSync atau CR RootSync. Opsional.
Setiap item dalam daftar berisi empat kolom: group, kind, namespace, dan name.

Kolom status

Kunci Deskripsi
status.observedGeneration Pembuatan (metadata.generation) spesifikasi resource RootSync atau RepoSync yang terakhir diamati dan ditindaklanjuti oleh pengontrol ResourceGroup. Nilai ini dapat dibandingkan dengan metadata.generation, yang merupakan bilangan bulat dan diperbarui berdasarkan mutasi spesifikasi oleh server API.
status.conditions Kondisi terbaru yang diamati untuk ResourceGroup saat ini. Kondisi ini memiliki dua jenis yang berbeda: Reconciling dan Stalled. Jika kondisi jenis Reconciling bernilai benar, berarti ResourceGroup saat ini sedang dalam rekonsiliasi. Jika kondisi jenis Stalled benar, ini berarti rekonsiliasi terhenti. Jika keduanya bernilai salah, berarti ResourceGroup saat ini telah direkonsiliasi dan statusnya adalah yang terbaru.
status.resourceStatuses Daftar status untuk resource yang disertakan dalam .spec.resources. Setiap item berisi ID (Group, Kind, Namespace, atau Name) dan status resource. Statusnya adalah salah satu dari: InProgress, Current, Failed, Terminating, NotFound, atau Unknown.

Kolom sinkronisasi root yang tidak dikelola

Kolom RootSync yang bernama root-sync berikut tidak dikelola oleh layanan Fleet (Hub) dan dapat diedit dengan klien Kubernetes apa pun:

Kunci Deskripsi
spec.git.noSSLVerify noSSLVerify menentukan apakah akan mengaktifkan atau menonaktifkan verifikasi sertifikat SSL. Default: false.
Jika noSSLVerify disetel ke true, kode ini akan memberi tahu Git untuk melewati verifikasi sertifikat SSL.
spec.git.caCertSecretRef.name Nama Rahasia yang berisi sertifikat certificate authority (CA). Jika kolom ini disediakan, server Git harus menggunakan sertifikat yang diterbitkan oleh CA ini. Sertifikat CA harus disimpan dalam Secret di bawah kunci bernama `cert`.
spec.override.resources Daftar permintaan resource penampung dan penggantian batas. Opsional.
Setiap item dalam daftar berisi tiga kolom:
  • containerName: kolom ini dapat berupa git-sync, oci-sync, hydration-controller, atau reconciler.
  • cpuRequest (opsional)
  • cpuLimit (opsional)
  • memoryRequest (opsional)
  • memoryLimit (opsional)

Jika nilai penggantian untuk permintaan atau batas resource tidak diberikan, nilai resource default untuk permintaan atau batas akan digunakan.
spec.override.gitSyncDepth gitSyncDepth memungkinkan Anda mengganti jumlah commit Git yang akan diambil.
Tidak boleh kurang dari 0.
Config Sync melakukan clone penuh jika kolom ini bernilai 0, dan clone dangkal jika kolom ini lebih besar dari 0.
Jika kolom ini tidak disediakan, Config Sync akan otomatis mengonfigurasinya.
spec.override.statusMode statusMode memungkinkan Anda mengaktifkan atau menonaktifkan perekaman status tingkat resource.
Defaultnya adalah enabled.
Untuk menonaktifkan pengambilan status tingkat resource, tetapkan kolom ini ke disabled.
spec.override.reconcileTimeout reconcileTimeout memungkinkan Anda mengganti nilai minimum terkait durasi tunggu agar resource dalam grup penerapan direkonsiliasi sebelum berhenti. 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 enableShellInRendering menentukan apakah akan mengaktifkan atau menonaktifkan akses shell dalam proses rendering. Kustomisasi basis jarak jauh memerlukan akses shell. Menetapkan kolom ini ke true akan mengaktifkan akses shell dalam proses rendering dan mendukung pengambilan basis jarak jauh dari repositori publik.
Defaultnya adalah false.

Untuk mempelajari lebih lanjut kolom terkelola dan tidak terkelola di objek RootSync, lihat Cara layanan Fleet mengelola objek RootSync.

Contoh CR

Bagian berikut menunjukkan contoh CR RootSync dan RepoSync.

CR RootSync

Contoh berikut menunjukkan objek RootSync.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

CR RepoSync

Contoh berikut menunjukkan objek RepoSync.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

Langkah selanjutnya