Menerapkan konfigurasi Flux v1 dalam skala besar menggunakan Azure Policy

Anda dapat menggunakan Azure Policy untuk menerapkan konfigurasi Flux v1 (Microsoft.KubernetesConfiguration/sourceControlConfigurations jenis sumber daya) dalam skala besar pada kluster Kubernetes dengan dukungan Azure Arc (Microsoft.Kubernetes/connectedclusters).

Penting

Artikel ini untuk GitOps dengan Flux v1. GitOps dengan Flux v2 sekarang tersedia untuk kluster Kubernetes dan Azure Kubernetes Service (AKS) dengan dukungan Azure Arc; pelajari tentang menggunakan Azure Policy dengan Flux v2. Sebaiknya migrasi ke Flux v2 sesegera mungkin.

Dukungan untuk sumber daya konfigurasi kluster berbasis Flux v1 yang dibuat sebelum 1 Januari 2024 akan berakhir pada 24 Mei 2025. Mulai 1 Januari 2024, Anda tidak akan dapat membuat sumber daya konfigurasi kluster berbasis Flux v1 baru.

Untuk menggunakan Azure Policy, pilih definisi kebijakan GitOps bawaan dan buat penetapan kebijakan. Saat membuat penetapan kebijakan:

  1. Atur cakupan untuk penetapan.
    • Cakupan adalah semua grup sumber daya dalam grup langganan atau manajemen atau grup sumber daya tertentu.
  2. Atur parameter untuk konfigurasi GitOps yang akan dibuat.

Setelah penetapan dibuat, mesin Azure Policy mengidentifikasi semua kluster Kubernetes yang mengaktifkan Azure Arc yang terletak di dalam cakupan dan menerapkan konfigurasi GitOps ke setiap kluster.

Untuk mengaktifkan pemisahan kekhawatiran, Anda dapat membuat beberapa penetapan kebijakan, masing-masing dengan konfigurasi GitOps yang berbeda yang menunjuk ke repo Git yang berbeda. Misalnya, satu repo dapat digunakan oleh admin kluster dan repositori lainnya dapat digunakan oleh tim aplikasi.

Tip

Ada definisi kebijakan bawaan untuk skenario ini:

  • Repo publik atau repo privat dengan kunci SSH yang dibuat oleh Flux: Configure Kubernetes clusters with specified GitOps configuration using no secrets
  • Repo privat dengan kunci SSH yang disediakan pengguna: Configure Kubernetes clusters with specified GitOps configuration using SSH secrets
  • Repo privat dengan kunci HTTPS yang disediakan pengguna: Configure Kubernetes clusters with specified GitOps configuration using HTTPS secrets

Prasyarat

Verifikasi bahwa Anda memiliki izin Microsoft.Authorization/policyAssignments/write pada cakupan (grup langganan atau sumber daya) tempat Anda akan membuat penetapan kebijakan ini.

Buat penetapan kebijakan

  1. Di portal Azure, navigasi ke Kebijakan.
  2. Di bagian Penulisan bilah samping, pilih Definisi.
  3. Dalam kategori "Kubernetes", pilih definisi kebijakan bawaan "Konfigurasi kluster Kubernetes dengan konfigurasi GitOps yang ditentukan tanpa rahasia".
  4. Pilih tetapkan.
  5. Atur Cakupan ke grup manajemen, langganan, atau grup sumber daya tempat penetapan kebijakan akan berlaku.
    • Jika Anda ingin mengecualikan sumber daya apa pun dari cakupan penetapan kebijakan, setel Pengecualian.
  6. Berikan penetapan kebijakan Nama dan Deskripsi yang mudah diidentifikasi.
  7. Pastikan Penegakan kebijakan diatur ke Diaktifkan.
  8. Pilih Selanjutnya.
  9. Atur nilai parameter yang akan digunakan saat membuat sourceControlConfigurations sumber daya.
  10. Pilih Selanjutnya.
  11. Aktifkan Buat tugas remediasi.
  12. Pastikan bahwa Buat identitas terkelola dicentang, dan identitas tersebut akan memiliki izin Kontributor.
  13. Pilih Tinjau + buat.

Setelah membuat penetapan kebijakan, konfigurasi diterapkan ke kluster Kubernetes baru yang mengaktifkan Azure Arc yang dibuat dalam cakupan penetapan kebijakan.

Untuk kluster yang ada, Anda perlu menjalankan tugas remediasi secara manual. Tugas ini biasanya memakan waktu 10 hingga 20 menit agar penetapan kebijakan diterapkan.

Memverifikasi penetapan kebijakan

  1. Di portal Azure, arahkan ke salah satu kluster Kubernetes yang mengaktifkan Azure Arc.
  2. Di bagian Pengaturan bilah samping, pilih Kebijakan.
    • Dalam daftar, Anda akan melihat penetapan kebijakan yang Anda buat sebelumnya dengan Kondisi kepatuhan ditetapkan sebagai Sesuai.
  3. Di bagian Pengaturan bilah samping, pilih GitOps.
    • Dalam daftar konfigurasi, Anda akan melihat konfigurasi yang dibuat oleh penetapan kebijakan.
  4. Di bagian sumber daya Kubernetes pada bar samping, pilih Namespace dan Beban Kerja.
    • Anda akan melihat namespace layanan dan artefak yang dibuat oleh konfigurasi Flux.
    • Anda akan melihat objek yang dijelaskan oleh manifes dalam repositori Git yang disebarkan pada kluster.

Langkah berikutnya

Siapkan Azure Monitor untuk Kontainer dengan kluster Kubernetes yang mengaktifkan Azure Arc.