Halaman ini menjelaskan pilihan dan persyaratan konfigurasi saat merencanakan cluster untuk digunakan dengan Config Sync.
Untuk mengetahui informasi selengkapnya tentang praktik terbaik umum saat merencanakan cluster GKE, tinjau dokumentasi GKE untuk Pilihan konfigurasi cluster.
Persyaratan resource dengan mode Autopilot
Mode Autopilot GKE secara otomatis mengubah permintaan resource untuk menjaga stabilitas workload. Untuk memahami cara merencanakan permintaan tersebut, tinjau dokumentasi GKE untuk Permintaan resource Autopilot.
Karena cara Autopilot mengubah permintaan resource, Config Sync melakukan penyesuaian berikut:
- Menyesuaikan batas penggantian resource yang ditentukan pengguna agar sesuai dengan permintaan.
- Menerapkan penggantian hanya jika ada satu atau beberapa permintaan resource yang lebih tinggi daripada output yang disesuaikan yang sesuai yang dinyatakan dalam anotasi, atau ada permintaan resource yang lebih rendah daripada input yang sesuai yang dinyatakan dalam anotasi.
Platform dan versi GKE yang didukung
Untuk menggunakan Config Sync, cluster Anda harus menggunakan versi yang didukung GKE.
Workload Identity Federation for GKE
Workload Identity Federation for GKE adalah cara yang direkomendasikan untuk terhubung ke layanan Google Cloud dengan aman. Workload Identity Federation for GKE diaktifkan secara default di cluster Autopilot.
Jika Anda ingin menggunakan paket fleet (Pratinjau) dengan Config Sync, Workload Identity Federation untuk GKE diperlukan.
Jika Anda menginstal Config Sync di cluster terlampir GKE, Anda tidak dapat menggunakan Active Directory dengan Workload Identity Federation. Batasan ini ada karena Config Sync menggunakan gateway koneksi untuk terhubung ke cluster terlampir GKE dan gateway koneksi tidak mendukung fitur ini.
Jaringan
Bagian berikut mencantumkan beberapa perubahan yang mungkin perlu Anda lakukan pada cluster GKE, bergantung pada setelan jaringan Anda.
Untuk mengetahui informasi selengkapnya tentang pilihan jaringan GKE, lihat Ringkasan jaringan.
Cluster pribadi
Jika Anda menggunakan cluster pribadi, Anda harus mengonfigurasi cluster dengan salah satu cara berikut untuk memastikan Config Sync memiliki akses dan dapat melakukan autentikasi ke sumber kebenaran Anda:
Konfigurasi Cloud NAT untuk mengizinkan traffic keluar dari node GKE pribadi. Untuk mengetahui detailnya, lihat Contoh penyiapan GKE.
Aktifkan Akses Google Pribadi untuk terhubung ke kumpulan alamat IP eksternal yang digunakan oleh Google API dan layanan Google.
Cluster publik
Jika Anda menggunakan cluster publik, tetapi memiliki persyaratan Firewall VPC yang ketat yang memblokir traffic yang tidak diperlukan, Anda harus Membuat aturan firewall untuk mengizinkan traffic berikut:
- TCP: Izinkan ingress dan egress di port 53 dan 443
- UDP: Izinkan egress di port 53
Jika Anda tidak menyertakan aturan ini, Config Sync tidak akan disinkronkan dengan benar, dengan
nomos status
melaporkan error berikut:
Error: KNV2004: unable to sync repo Error in the git-sync container
Cloud Source Repositories dengan autentikasi akun layanan default Compute Engine
Jika Anda menggunakan Config Sync untuk terhubung ke Cloud Source Repositories dan Workload Identity Federation for GKE tidak diaktifkan, Anda dapat menggunakan akun layanan default Compute Engine untuk melakukan autentikasi. Anda harus menggunakan cakupan akses dengan cakupan hanya baca untuk node di cluster.
Anda dapat menambahkan cakupan hanya baca untuk Cloud Source Repositories dengan menyertakan
cloud-source-repos-ro
dalam daftar --scopes
yang ditentukan pada saat pembuatan cluster, atau dengan menggunakan cakupan cloud-platform
pada saat pembuatan cluster. Misalnya:
gcloud container clusters create CLUSTER_NAME --scopes=cloud-platform
Ganti CLUSTER_NAME
dengan nama cluster Anda.
Anda tidak dapat mengubah cakupan akses setelah membuat node pool.
Namun, Anda dapat membuat node pool baru dengan cakupan akses yang tepat saat
menggunakan cluster yang sama. Cakupan gke-default
default tidak menyertakan
cloud-source-repos-ro
.
Node Arm
Config Sync hanya dapat berjalan di node berbasis x86, bukan node Arm. Namun, jika Anda perlu menjalankan Config Sync di cluster dengan beberapa arsitektur, lakukan tindakan berikut, bergantung pada jenis cluster Anda:
- GKE di AWS atau GKE di Azure: tambahkan taint ke node Arm Anda, untuk menghindari penjadwalan Pod ke node Arm Anda tanpa toleransi yang sesuai.
- GKE: GKE menambahkan taint default untuk memastikan workload tanpa toleransi yang sesuai tidak dijadwalkan di sana. Tidak ada tindakan tambahan yang diperlukan.