Panduan memulai ini menunjukkan cara menggunakan Config Sync untuk menerapkan pendekatan GitOps dalam mengelola cluster Google Kubernetes Engine Anda. Dengan alur kerja GitOps, Anda menggunakan repositori Git sebagai satu-satunya sumber tepercaya untuk konfigurasi cluster Anda.
Dengan menggunakan Config Sync, Anda akan mendapatkan manfaat berikut:
- Menerapkan konsistensi: membantu memastikan bahwa semua cluster Anda memiliki konfigurasi yang sama, sehingga mengurangi risiko penyimpangan konfigurasi.
- Meningkatkan keamanan: mengelola dan mengaudit konfigurasi cluster Anda secara terpusat, sehingga memudahkan penerapan kebijakan keamanan.
- Meningkatkan kecepatan: mengotomatiskan peluncuran perubahan konfigurasi, sehingga Anda dapat men-deploy perubahan dengan lebih cepat dan andal.
Dalam tutorial ini, Anda akan membuat cluster GKE dan mengonfigurasi Config Sync untuk menyinkronkan file konfigurasi dari repositori contoh. Tutorial ini membantu Anda memahami cara kerja Config Sync dan memberi Anda pengalaman menggunakan Config Sync untuk mengelola kluster secara konsisten dan otomatis.
Sebelum memulai
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Make sure that you have the following role or roles on the project: Kubernetes Engine Admin
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Buka IAM - Pilih project.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya berupa alamat email untuk Akun Google.
- Di daftar Select a role, pilih peran.
- Untuk memberikan peran tambahan, klik Tambahkan peran lain, lalu tambahkan setiap peran tambahan.
- Klik Simpan.
Aktifkan Google Kubernetes Engine API.
Di konsol Google Cloud , buka halaman Kubernetes Engine.
Klik add_box Create.
Di bagian Autopilot, pilih Configure.
Di bagian Cluster basics, masukkan
cs-cluster
di kolom Name. Biarkan semua kolom lain tetap pada nilai default yang direkomendasikan.Klik Buat. Anda akan diarahkan ke halaman Kubernetes clusters. Proses pembuatan cluster Anda memerlukan waktu beberapa menit. Jika Anda melihat tanda centang hijau di kolom Status di samping cluster, berarti cluster sudah siap.
- 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 Instal Config Sync di setiap cluster.
- Di tabel
Available clusters, pilih
cs-cluster
, lalu klik Install Config Sync. Di tab Setelan, Anda akan melihat statuscs-cluster
sebagai Diaktifkan setelah beberapa menit. - Di dasbor Config Sync, klik Deploy cluster package.
- Di tabel Pilih cluster untuk deployment paket, pilih
cs-cluster
lalu klik Lanjutkan. - Biarkan Paket dihosting di Git tetap dipilih, lalu klik Lanjutkan.
- Di kolom Package name, masukkan
sample-repository
. - Di kolom Repository URL, masukkan
https://github.com/GoogleCloudPlatform/anthos-config-management-samples
. - Di kolom Path, masukkan
config-sync-quickstart/multirepo/root
. - Biarkan kolom lain tetap pada nilai defaultnya.
Klik Deploy Package.
Setelah beberapa menit, Anda akan melihat Disinkronkan di kolom Status sinkronisasi untuk
cs-cluster
.- Pembuatan namespace: file seperti
namespace-gamestore.yaml
membuat namespace itu sendiri. - Resource cakupan cluster: file yang memengaruhi seluruh cluster mencakup
resource seperti objek
ClusterRole
yang menambahkan peran di seluruh cluster yang memberikan izin. - Menghubungkan repositori namespace: file kunci dalam penyiapan multi-repositori ini adalah file
reposync-gamestore.yaml
. ObjekRepoSync
ini memberi tahu Config Sync untuk menyinkronkan konfigurasi namespacegamestore
dari jalur yang berbeda. Dalam contoh ini, objekRepoSync
mengarah ke direktoriconfig-sync-quickstart/multirepo/ namespaces/gamestore
dalam repositori yang sama, tetapi dalam skenario dunia nyata, Anda dapat mengarah ke repositori Git yang berbeda. Buka menu GKE di konsol Google Cloud .
Di samping
cs-cluster
, klik more_vert Tindakan, lalu klik delete Hapus.Saat diminta untuk mengonfirmasi, klik Hapus lagi.
- Pelajari cara memvalidasi konfigurasi.
Membuat cluster
Di bagian ini, Anda akan membuat cluster yang dapat digunakan dalam tutorial ini. Meskipun dalam skenario dunia nyata Anda mungkin mengelola beberapa cluster, untuk menyederhanakan tutorial ini, Anda hanya membuat dan mengelola satu cluster.
Untuk membuat cluster, selesaikan langkah-langkah berikut:
Konfigurasi cluster Anda
Setelah memiliki cluster, Anda dapat mengonfigurasi Config Sync untuk menyinkronkan file konfigurasi dari repositori Git.
Untuk mengonfigurasi Config Sync di konsol Google Cloud , selesaikan langkah-langkah berikut:
Setelah disinkronkan ke repositori, Config Sync akan terus merekonsiliasi status cluster Anda dengan konfigurasi di repositori.
Melihat detail paket
Untuk melihat objek yang dikelola oleh Config Sync, buka tab Packages dan klik
cs-cluster
. Halaman detail paket memberikan ringkasan semua resource yang disinkronkan, termasuk jenis resource dan namespace tempat resource disinkronkan.(Opsional) Jelajahi repositori contoh
Konfigurasi yang diterapkan ke cluster Anda ditentukan di repositori
/config-sync-quickstart/multirepo/
. Contoh ini menunjukkan penyiapan multi-repositori di mana konfigurasi tingkat cluster-admin, yang diwakili oleh repositoriroot
, dipisahkan dari konfigurasi tingkat namespace, yang diwakili oleh repositorinamespaces
. Dalam contoh ini, konfigurasi ini dibagi ke dalam folder yang berbeda. Dalam skenario dunia nyata, Anda dapat menyimpan konfigurasi di dua repositori berbeda dengan izin akses yang berbeda.Secara umum, repositori tingkat cluster atau root biasanya dikelola oleh administrator pusat dan berisi resource di seluruh cluster, konfigurasi namespace, dan kebijakan. Repositori tingkat namespace biasanya berisi konfigurasi khusus untuk setiap namespace dan sering dikelola oleh tim aplikasi.
Beberapa jenis file utama yang mungkin Anda simpan di repositori root meliputi:
Repositori namespace berisi konfigurasi khusus aplikasi untuk namespace
gamestore
. Misalnya, fileconfigmap-inventory.yaml
berisi data inventaris untuk aplikasigamestore
. Jenis penyiapan GitOps ini memungkinkan tim aplikasi memiliki lebih banyak otonomi atas deployment dan resource yang tercakup dalam namespace mereka sendiri tanpa perlu mengubah repositori root pusat.Pembersihan
Langkah berikutnya
-