Dengan Config Sync, Anda dapat mengelola resource Kubernetes dengan menyinkronkan konfigurasi dari sumber tepercaya pusat, seperti repositori Git, image OCI, atau chart Helm. Jika petunjuk penginstalan default tidak sesuai dengan kebutuhan Anda, Anda mungkin perlu menyesuaikan penginstalan Config Sync.
Halaman ini menunjukkan cara melakukan penginstalan dan konfigurasi lanjutan Config Sync. Proses penginstalan mencakup hal berikut:
- Menginstal Config Sync di setiap cluster menggunakan konsolGoogle Cloud , Google Cloud CLI, atau Terraform.
- Mengonfigurasi repositori root, termasuk jenis sumber, format, dan autentikasi.
- Memverifikasi keberhasilan penginstalan dan konfigurasi Config Sync.
Batasan
Config Sync tidak mendukung konfigurasi helm
sebagai jenis sumber menggunakan konsol Google Cloud atau Google Cloud CLI. Anda dapat mengonfigurasi objek
RootSync
atau RepoSync
untuk disinkronkan dari repositori Helm menggunakan
Kubernetes API, atau
mendeklarasikannya di sumber tepercaya lain.
Lihat
Konfigurasi untuk repositori Helm
untuk mengetahui informasi selengkapnya.
Sebelum memulai
Sebelum menginstal Config Sync, siapkan sumber tepercaya dan cluster yang sesuai.
Memberi Config Sync akses ke sumber tepercaya Anda
Untuk menyinkronkan konfigurasi dari sumber tepercaya ke cluster Anda, Config Sync memerlukan akses hanya baca ke repositori Anda. Untuk memberi otorisasi Config Sync agar dapat membaca konfigurasi Anda, selesaikan langkah-langkah berikut:
Buat, atau miliki akses ke, sumber tepercaya yang berisi file konfigurasi yang ingin Anda sinkronkan oleh Config Sync ke cluster Anda. Untuk informasi selengkapnya, lihat referensi berikut:
- Menambahkan konfigurasi ke sumber tepercaya: informasi konseptual tentang konfigurasi.
- Praktik terbaik GitOps: tips dan praktik terbaik umum untuk mengatur dan mengelola repositori Anda.
- Menggunakan repo tidak terstruktur: rekomendasi untuk menggunakan dan mengatur repositori tidak terstruktur.
Jika sumber tepercaya Anda bersifat publik, Anda tidak perlu melakukan tindakan lebih lanjut. Config Sync tidak memerlukan izin tambahan.
Jika sumber tepercaya Anda bersifat pribadi, selesaikan petunjuk di salah satu halaman berikut:
Meninjau persyaratan cluster
Sebelum membuat cluster, tinjau persyaratan cluster.
Menginstal Config Sync
Saat Anda menginstal Config Sync menggunakan konsol Google Cloud atau Google Cloud CLI, Config Sync akan otomatis membuat objek RootSync bernama root-sync
. Anda dapat menggunakan perintah kubectl
untuk mengubah root-sync
dan menambahkan
konfigurasi Config Sync tambahan. Untuk mengetahui informasi selengkapnya, lihat
Mengonfigurasi Config Sync dengan perintah kubectl
.
Konsol
Menginstal Config Sync
Untuk menginstal Config Sync, semua cluster harus didaftarkan ke fleet. Saat Anda menginstal Config Sync di konsol Google Cloud , memilih setiap cluster akan otomatis mendaftarkan cluster tersebut ke fleet Anda.
- Di konsol Google Cloud , buka halaman Config di bagian Features.
- Klik add Instal Config Sync.
- Pilih versi Config Sync yang ingin Anda gunakan.
- Di bagian Opsi penginstalan, pilih salah satu opsi berikut:
- Menginstal Config Sync di seluruh armada (direkomendasikan): Config Sync diinstal di semua cluster dalam armada.
- Menginstal Config Sync di setiap cluster: Config Sync diinstal di cluster yang Anda pilih. Cluster yang dipilih akan otomatis didaftarkan ke fleet Anda.
- Jika Anda menginstal Config Sync di setiap cluster, di tabel Available clusters, pilih cluster tempat Anda ingin menginstal Config Sync.
- Klik Install Config Sync. Di tab Setelan, setelah beberapa menit, Anda akan melihat Diaktifkan di kolom Status untuk cluster di armada Anda.
Men-deploy paket
Setelah mendaftarkan cluster ke armada dan menginstal Config Sync, Anda dapat mengonfigurasi Config Sync untuk men-deploy paket ke cluster dari sumber tepercaya. Anda dapat men-deploy paket yang sama ke beberapa cluster atau men-deploy paket yang berbeda ke cluster yang berbeda. Anda dapat mengedit paket setelah men-deploy-nya, kecuali beberapa setelan seperti nama paket dan jenis sinkronisasi. Untuk mengetahui informasi selengkapnya, lihat Mengelola paket.
Untuk men-deploy paket, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka dasbor Config Sync.
Klik Deploy Package.
Pada tabel Select clusters for package deployment, pilih cluster yang ingin Anda gunakan untuk men-deploy paket, lalu klik Continue.
Pilih Package hosted on Git atau Package hosted on OCI sebagai jenis sumber Anda, lalu klik Continue.
Di bagian Package details, masukkan Package name, yang mengidentifikasi objek RootSync atau RepoSync.
Di kolom Sync type, pilih Cluster scoped sync atau Namespace scoped sync sebagai jenis sinkronisasi.
Sinkronisasi cakupan cluster membuat objek RootSync dan sinkronisasi cakupan Namespace membuat objek RepoSync. Untuk mengetahui informasi selengkapnya tentang objek ini, lihat Arsitektur Config Sync.
Di bagian Sumber, selesaikan langkah-langkah berikut:
Untuk sumber yang dihosting di repositori Git, masukkan kolom berikut:
- Masukkan URL repositori Git yang Anda gunakan sebagai sumber tepercaya sebagai URL Repositori.
- Opsional: Perbarui kolom Revisi untuk melakukan checkout jika Anda tidak menggunakan
HEAD
default. - Opsional: Perbarui kolom Path jika Anda tidak ingin menyinkronkan dari repositori root.
- Opsional: Perbarui kolom Branch jika Anda tidak menggunakan cabang
main
default.
Untuk sumber yang dihosting dalam image OCI, masukkan kolom berikut:
- Masukkan URL gambar OCI yang Anda gunakan sebagai sumber kebenaran sebagai Gambar.
- Masukkan jalur direktori yang akan disinkronkan dari, relatif terhadap direktori root, sebagai Direktori.
(Opsional): Luaskan bagian Setelan lanjutan untuk menyelesaikan hal berikut:
Pilih Jenis autentikasi. Config Sync memerlukan akses hanya baca ke sumber tepercaya Anda untuk membaca file konfigurasi di sumber dan menerapkannya ke cluster Anda. Kecuali jika sumber Anda tidak memerlukan autentikasi, seperti repositori publik, pastikan Anda memberikan akses hanya baca ke Config Sync untuk repositori Git, image OCI, atau Helm chart (khusus gcloud CLI). Pilih jenis autentikasi yang sama dengan yang Anda konfigurasi saat menginstal Config Sync:
- Tidak ada: Tidak menggunakan autentikasi.
- SSH: Lakukan autentikasi menggunakan pasangan kunci SSH.
- Cookiefile: Lakukan autentikasi dengan menggunakan
cookiefile
. - Token: Lakukan autentikasi menggunakan token akses atau sandi.
- Google Cloud Repository: Menggunakan akun layanan Google untuk mengakses repositori Cloud Source Repositories. Pilih opsi ini hanya jika Workload Identity Federation untuk GKE tidak diaktifkan di cluster Anda.
- Workload Identity: Menggunakan akun layanan Google untuk mengakses repositori Cloud Source Repositories.
Masukkan angka dalam detik untuk menetapkan Waktu tunggu sinkronisasi, yang menentukan durasi Config Sync menunggu di antara upaya penarikan dari sumber tepercaya.
Masukkan URL proxy Git untuk proxy HTTPS yang akan digunakan saat berkomunikasi dengan sumber tepercaya.
Pilih Hierarki untuk mengubah Format sumber.
Nilai default Tidak terstruktur direkomendasikan dalam sebagian besar kasus karena memungkinkan Anda mengatur sumber tepercaya sesuai keinginan.
Klik Deploy Package.
Anda akan dialihkan ke halaman Packages Config Sync. Setelah beberapa menit, Anda akan melihat Disinkronkan di kolom Status sinkronisasi untuk cluster yang Anda konfigurasi.
gcloud
Sebelum melanjutkan, pastikan Anda telah mendaftarkan cluster Anda ke fleet.
Aktifkan fitur fleet
ConfigManagement
:gcloud beta container fleet config-management enable
Siapkan konfigurasi dengan membuat file bernama
apply-spec.yaml
dan menyalin file YAML berikut ke dalamnya.Anda dapat menetapkan semua kolom
spec.configSync
opsional yang diperlukan saat membuat manifes, dan kemudian menggunakan perintahkubectl
untuk konfigurasi. Anda juga hanya dapat menetapkan kolomspec.configSync.enabled
sebagaitrue
dan menghilangkan kolom opsional. Anda kemudian dapat menggunakan perintahkubectl
untuk membuat objek RootSync tambahan atau RepoSync yang dapat Anda kelola sepenuhnya menggunakan perintahkubectl
nanti.# apply-spec.yaml applySpecVersion: 1 spec: configSync: enabled: true # If you don't have a source of truth yet, omit the # following fields. You can configure them later. sourceType: SOURCE_TYPE sourceFormat: FORMAT syncRepo: REPO syncRev: REVISION secretType: SECRET_TYPE gcpServiceAccountEmail: EMAIL metricsGcpServiceAccountEmail: METRICS_EMAIL policyDir: DIRECTORY preventDrift: false
Ganti kode berikut:
SOURCE_TYPE
: tambahkangit
untuk menyinkronkan dari repositori Git,oci
untuk menyinkronkan dari image OCI, atauhelm
untuk menyinkronkan dari Helm chart. Jika tidak ada nilai yang ditentukan, nilai defaultnya adalahgit
.FORMAT
: tambahkanunstructured
untuk menggunakan repositori tidak terstruktur atau tambahkanhierarchy
untuk menggunakan repositori hierarkis. Nilai ini peka huruf besar/kecil. Kolom ini bersifat opsional dan nilai defaultnya adalahhierarchy
. Sebaiknya tambahkanunstructured
, karena format ini memungkinkan Anda mengatur konfigurasi dengan cara yang paling nyaman bagi Anda.REPO
: tambahkan URL sumber tepercaya. URL repositori Git dan Helm menggunakan protokol HTTPS atau SSH. Contoh,https://github.com/GoogleCloudPlatform/anthos-config-management-samples
. Jika Anda berencana menggunakan SSH sebagaisecretType
, masukkan URL Anda dengan protokol SSH. Kolom ini wajib diisi dan jika Anda tidak memasukkan protokol, URL akan diperlakukan sebagai URL HTTPS.URL OCI menggunakan format berikut:
LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME
. Secara default, image diambil dari taglatest
, tetapi Anda dapat mengambil image berdasarkanTAG
atauDIGEST
. TentukanTAG
atauDIGEST
diPACKAGE_NAME
:- Untuk menarik menurut
TAG
:LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG
- Untuk menarik menurut
DIGEST
:LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST
- Untuk menarik menurut
REVISION
: revisi Git (tag atau hash) atau nama cabang yang akan disinkronkan. Saat menggunakan hash, hash tersebut harus berupa hash lengkap, bukan bentuk singkat.SECRET_TYPE
: salah satusecretTypes
berikut:git
none
: Tidak menggunakan autentikasi.ssh
: Gunakan pasangan kunci SSH.cookiefile
: Gunakancookiefile
.token
: Menggunakan token.gcpserviceaccount
: Menggunakan akun layanan Google untuk mengakses repositori Cloud Source Repositories atau Secure Source Manager. Jika memilih jenis autentikasi ini, Anda perlu membuat binding kebijakan IAM setelah selesai mengonfigurasi Config Sync. Untuk mengetahui detailnya, lihat tab akun layanan Google di bagian Memberikan akses Config Sync ke Git dengan akun layanan Google.gcenode
: Menggunakan akun layanan Google untuk mengakses Cloud Source Repositories. Pilih opsi ini hanya jika Workload Identity Federation for GKE tidak diaktifkan di cluster Anda.githubapp
: Menggunakan Aplikasi GitHub untuk mengautentikasi ke repositori GitHub.
Untuk mengetahui informasi selengkapnya tentang jenis autentikasi ini, lihat Memberikan akses Config Sync ke Git.
oci
none
: Tidak menggunakan autentikasigcenode
: Gunakan akun layanan default Compute Engine untuk mengakses image di Artifact Registry. Pilih opsi ini hanya jika Workload Identity Federation for GKE tidak diaktifkan di cluster Anda.gcpserviceaccount
: Menggunakan akun layanan Google untuk mengakses gambar.
kemudi
token
: Menggunakan token.gcenode
: Gunakan akun layanan default Compute Engine untuk mengakses image di Artifact Registry. Pilih opsi ini hanya jika Workload Identity Federation for GKE tidak diaktifkan di cluster Anda.gcpserviceaccount
: Menggunakan akun layanan Google untuk mengakses gambar.
EMAIL
: Jika Anda menambahkangcpserviceaccount
sebagaisecretType
, tambahkan alamat email akun layanan Google Anda. Contoh,acm@PROJECT_ID.iam.gserviceaccount.com
.METRICS_EMAIL
: email Google Cloud Akun Layanan (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 di namespaceconfig-management-monitoring
harus terikat ke GSA.DIRECTORY
: jalur direktori yang akan disinkronkan, relatif terhadap root repositori Git. Semua subdirektori dari direktori yang Anda tentukan disertakan dan disinkronkan ke cluster. Nilai defaultnya adalah direktori root repositori.
Untuk mengetahui daftar lengkap kolom yang dapat Anda tambahkan ke kolom
spec
, lihat gcloud fields.Terapkan file
apply-spec.yaml
. Jika menggunakan manifes yang ada, Anda harus menerapkan file ke cluster yang ingin dikonfigurasi dengan setelan yang Anda ambil pada perintah sebelumnya:gcloud beta container fleet config-management apply \ --membership=MEMBERSHIP_NAME \ --config=CONFIG_YAML_PATH \ --project=PROJECT_ID
Ganti kode berikut:
MEMBERSHIP_NAME
: nama keanggotaan fleet yang Anda pilih saat Anda mendaftarkan cluster. Anda dapat menemukan nama dengangcloud container fleet memberships list
.CONFIG_YAML_PATH
: jalur ke fileapply-spec.yaml
Anda.PROJECT_ID
: project ID Anda.
Terraform
Untuk setiap cluster yang ingin Anda konfigurasi Config Sync-nya, terapkan blok resource google_gkehub_feature_membership
yang berisi blok configmanagement
dan config_sync
, seperti dalam contoh berikut:
git
Ganti kode berikut:
REPO
: URL ke repositori Git yang berisi file konfigurasi Anda.BRANCH
: cabang repositori, misalnyamain
.DIRECTORY
: jalur dalam repositori Git yang merepresentasikan tingkat teratas repositori yang ingin Anda sinkronkan.SECRET
: jenis autentikasi secret.
oci
Ganti kode berikut:
REPO
: URL ke repositori image OCI yang berisi file konfigurasi Anda.DIRECTORY
: jalur absolut direktori yang berisi resource yang ingin Anda sinkronkan. Untuk menggunakan direktori root, kosongkan kolom ini.SECRET
: jenis autentikasi secret.
Ulangi proses ini untuk setiap cluster yang ingin Anda sinkronkan.
Untuk mengetahui informasi selengkapnya tentang cara menggunakan Terraform, lihat Dukungan Terraform untuk Config Sync.
Setelah mengonfigurasi repositori root, Anda dapat secara opsional mengonfigurasi sinkronisasi dari beberapa repositori, termasuk repositori root dan repositori namespace lainnya. Repositori namespace berguna jika Anda menginginkan repositori yang berisi konfigurasi yang tercakup dalam namespace yang disinkronkan ke namespace tertentu di seluruh cluster.
Memverifikasi penginstalan
Setelah menginstal dan mengonfigurasi Config Sync, Anda dapat memverifikasi bahwa penginstalan telah berhasil diselesaikan.
gcloud
Jalankan perintah berikut:
nomos status
Penginstalan yang berhasil akan menampilkan status SYNCED
atau PENDING
.
Untuk mengetahui detail selengkapnya tentang informasi yang diberikan oleh nomos status
, termasuk
error yang dilaporkan, lihat Memeriksa status Config Sync
dalam dokumentasi alat command line nomos
.
console
Selesaikan langkah-langkah berikut:
- Di konsol Google Cloud , buka halaman Config di bagian Features.
- Di tab Paket, periksa kolom Status sinkronisasi di tabel cluster. Penginstalan Config Sync yang berhasil akan memiliki status Diinstal. Sumber tepercaya yang berhasil dikonfigurasi memiliki status Disinkronkan.
Langkah berikutnya
- Pelajari cara mengupgrade Config Sync.
- Pelajari lebih lanjut perintah
gcloud
untuk mengonfigurasi Config Sync. - Pelajari cara mengonfigurasi sinkronisasi dari beberapa repositori.
- Gunakan perintah
nomos
. - Baca Pengantar pemecahan masalah Config Sync.
- Pelajari cara meng-uninstal Config Sync.
- Tinjau izin Sinkronisasi Konfigurasi Default.