Menyebarkan aplikasi secara konsisten dalam skala besar menggunakan konfigurasi Flux v2 dan Azure Policy

Anda dapat menggunakan Azure Policy untuk menerapkan konfigurasi Flux v2 (Microsoft.KubernetesConfiguration/fluxConfigurationsjenis sumber daya) dalam skala besar pada kluster Kubernetes (Microsoft.Kubernetes/connectedClusters) atau AKS (Microsoft.ContainerService/managedClusters) dengan dukungan Azure Arc.

Untuk menggunakan Azure Policy, pilih definisi kebijakan bawaan dan buat penetapan kebijakan. Anda dapat mencari fluks untuk menemukan semua definisi kebijakan Flux v2. 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 Flux v2 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 masalah, Anda dapat membuat beberapa penetapan kebijakan, masing-masing dengan konfigurasi Flux v2 yang berbeda yang menunjuk ke sumber yang berbeda. Misalnya, satu repositori git dapat digunakan oleh admin kluster dan repositori lain dapat digunakan oleh tim aplikasi.

Tip

Ada definisi kebijakan bawaan untuk skenario ini:

  • Penginstalan ekstensi fluks (diperlukan untuk semua skenario): Configure installation of Flux extension on Kubernetes cluster
  • Konfigurasi fluks menggunakan repositori Git publik (umumnya skenario pengujian): Configure Kubernetes clusters with Flux v2 configuration using public Git repository
  • Konfigurasi fluks menggunakan repositori Git privat dengan autentikasi SSH: Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets
  • Konfigurasi fluks menggunakan repositori Git privat dengan autentikasi HTTPS: Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets
  • Konfigurasi fluks menggunakan repositori Git privat dengan autentikasi sertifikasi HTTPS CA: Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate
  • Konfigurasi fluks menggunakan repositori Git privat dengan rahasia K8 lokal: Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets
  • Konfigurasi fluks menggunakan sumber Bucket privat dan rahasia KeyVault: Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault
  • Konfigurasi fluks menggunakan sumber Bucket privat dan rahasia K8 lokal: Configure Kubernetes clusters with specified Flux v2 Bucket source using local 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.
    • Untuk informasi selengkapnya tentang parameter, lihat tutorial tentang menyebarkan konfigurasi Flux v2.
    • Saat membuat konfigurasi Flux, Anda harus memberikan nilai untuk satu (dan hanya satu) dari parameter ini: repositoryRefBranch, repositoryRefTag, repositoryRefSemver, repositoryRefCommit.
  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 atau AKS baru dengan dukungan 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, navigasikan ke salah satu kluster Kubernetes atau AKS yang didukung Azure Arc.
  2. Di bagian Pengaturan bilah samping, pilih GitOps.
    • Dalam daftar konfigurasi, Anda akan melihat konfigurasi yang dibuat oleh penetapan kebijakan.
  3. 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.

Menyesuaikan kebijakan

Kebijakan bawaan mencakup skenario utama untuk menggunakan GitOps dengan Flux v2 di kluster Kubernetes Anda. Namun, karena keterbatasan jumlah parameter yang diizinkan dalam penugasan Azure Policy (maksimal 20), tidak semua parameter ada dalam kebijakan bawaan. Selain itu, agar sesuai dengan batas 20 parameter, hanya satu Kustomisasi yang dapat dibuat dengan kebijakan bawaan.

Jika Anda memiliki skenario yang berbeda dari kebijakan bawaan, Anda dapat mengatasi batasan dengan membuat kebijakan kustom menggunakan kebijakan bawaan sebagai templat. Anda dapat membuat kebijakan kustom yang hanya berisi parameter yang Anda butuhkan, dan mengodekan secara permanen sisanya, oleh karena itu bekerja di sekitar batas 20 parameter.

Langkah berikutnya

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