Panduan memulai: Sinkronisasi konfigurasi dari repositori Git

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 cluster secara konsisten dan otomatis.

Sebelum memulai

  1. In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. Pastikan Anda memiliki peran berikut di project: Admin Kubernetes Engine

    Memeriksa peran

    1. Di konsol Cloud de Confiance , buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Di kolom Akun utama, temukan semua baris yang mengidentifikasi Anda atau grup yang Anda ikuti. Untuk mengetahui grup mana saja yang Anda ikuti, hubungi administrator Anda.

    4. Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.

    Memberikan peran

    1. Di konsol Cloud de Confiance , buka halaman IAM.

      Buka IAM
    2. Pilih project.
    3. Klik Grant access.
    4. Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah ID untuk pengguna dalam workforce identity pool. Untuk mengetahui detailnya, baca bagian Merepresentasikan pengguna workforce pool dalam kebijakan IAM, atau hubungi administrator Anda.

    5. Klik Pilih peran, lalu telusuri peran.
    6. Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
    7. Klik Simpan.

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:

  1. Aktifkan Google Kubernetes Engine API.

    Buka GKE

  2. Di konsol Cloud de Confiance , buka halaman Kubernetes Engine.

    Buka Google Kubernetes Engine

  3. Klik Create.

  4. Di bagian Autopilot, pilih Configure.

  5. Di bagian Cluster basics, masukkan cs-cluster di kolom Name. Biarkan semua kolom lain tetap pada nilai default yang direkomendasikan.

  6. Klik Create. 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.

Konfigurasi cluster Anda

Setelah memiliki cluster, Anda dapat mengonfigurasi Config Sync untuk menyinkronkan file konfigurasi dari repositori Git.

Untuk mengonfigurasi Config Sync di konsol Cloud de Confiance , selesaikan langkah-langkah berikut:

  1. Di konsol Cloud de Confiance , buka halaman Config di bagian Features.

    Buka Config

  2. Klik Instal Config Sync.
  3. Pilih versi Config Sync yang ingin Anda gunakan.
  4. Di bagian Opsi penginstalan, pilih Instal Config Sync di setiap cluster.
  5. Di tabel Available clusters, pilih cs-cluster, lalu klik Install Config Sync. Di tab Setelan, Anda akan melihat status cs-cluster sebagai Diaktifkan setelah beberapa menit.
  6. Di dasbor Config Sync, klik Deploy cluster package.
  7. Di tabel Pilih cluster untuk deployment paket, pilih cs-cluster lalu klik Lanjutkan.
  8. Biarkan Paket dihosting di Git tetap dipilih, lalu klik Lanjutkan.
  9. Di kolom Package name, masukkan sample-repository.
  10. Di kolom Repository URL, masukkan https://github.com/GoogleCloudPlatform/anthos-config-management-samples.
  11. Di kolom Path, masukkan config-sync-quickstart/multirepo/root.
  12. Biarkan kolom lain tetap pada nilai defaultnya.
  13. Klik Deploy Package.

    Setelah beberapa menit, Anda akan melihat Disinkronkan di kolom Status sinkronisasi untuk cs-cluster.

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 tempat konfigurasi tingkat cluster-admin, yang diwakili oleh repositori root, dipisahkan dari konfigurasi tingkat namespace, yang diwakili oleh repositori namespaces. 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:

  • 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. Objek RepoSync ini memberi tahu Config Sync untuk menyinkronkan konfigurasi namespace gamestore dari jalur yang berbeda. Dalam contoh ini, objek RepoSync mengarah ke direktori config-sync-quickstart/multirepo/ namespaces/gamestore dalam repositori yang sama, tetapi dalam skenario dunia nyata, Anda dapat mengarah ke repositori Git yang berbeda.

Repositori namespace berisi konfigurasi khusus aplikasi untuk namespace gamestore. Misalnya, file configmap-inventory.yaml berisi data inventaris untuk aplikasi gamestore. 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

  1. Buka menu GKE di konsol Cloud de Confiance .

    Buka GKE

  2. Di samping cs-cluster, klik Tindakan, lalu klik Hapus.

  3. Saat diminta untuk mengonfirmasi, klik Hapus lagi.

Langkah berikutnya