Menyebarkan aplikasi secara konsisten dalam skala besar menggunakan konfigurasi Flux v2 dan Azure Policy
Anda dapat menggunakan Azure Policyuntuk menerapkan konfigurasi Flux v2 (Microsoft.KubernetesConfiguration/fluxConfigurations
jenis sumber daya) dalam skala besar pada kluster Kubernetes (Microsoft.Kubernetes/connectedClusters
) atau AKS (Microsoft.ContainerService/managedClusters
) dengan dukungan Azure Arc. Untuk menggunakan Azure Policy, Anda memilih definisi kebijakan bawaan dan membuat penetapan kebijakan.
Sebelum menetapkan kebijakan yang membuat konfigurasi Flux, Anda harus memastikan bahwa ekstensi Flux disebarkan ke kluster Anda. Anda dapat melakukan ini dengan menetapkan kebijakan yang menyebarkan ekstensi ke semua kluster dalam cakupan yang dipilih (semua grup sumber daya dalam grup langganan atau manajemen, atau ke grup sumber daya tertentu). Kemudian, saat membuat penetapan kebijakan untuk menyebarkan konfigurasi, Anda mengatur parameter untuk konfigurasi Fluks yang akan diterapkan ke kluster dalam cakupan tersebut.
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 sementara repositori lain dapat digunakan oleh tim aplikasi.
Definisi kebijakan bawaan
Definisi kebijakan bawaan berikut memberikan dukungan untuk skenario ini:
Deskripsi | Kebijakan |
---|---|
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 K8s 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 |
Untuk menemukan semua definisi kebijakan Flux v2, cari fluks. Untuk informasi selengkapnya, lihat Definisi bawaan kebijakan Azure untuk Kubernetes dengan dukungan Azure Arc.
Prasyarat
- Satu atau beberapa kluster Kube dengan dukungan Arc dan/atau kluster AKS.
Microsoft.Authorization/policyAssignments/write
izin pada cakupan (langganan atau grup sumber daya) untuk membuat penetapan kebijakan.
Membuat penetapan kebijakan untuk menginstal ekstensi Flux
Agar kebijakan menerapkan konfigurasi Flux v2 ke kluster, ekstensi Flux harus terlebih dahulu diinstal pada kluster. Untuk memastikan bahwa ekstensi diinstal pada setiap kluster Anda, tetapkan konfigurasi penginstalan ekstensi Flux pada definisi kebijakan kluster Kubernetes ke cakupan yang diinginkan.
- Di portal Azure, navigasi ke Kebijakan.
- Di bagian Penulisan bilah samping, pilih Definisi.
- Temukan konfigurasi penginstalan ekstensi Flux pada definisi kebijakan bawaan kluster Kubernetes, dan pilih.
- Pilih Tetapkan kebijakan.
- 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.
- Beri penetapan kebijakan nama dan Deskripsi Penugasan yang mudah diidentifikasi.
- Pastikan Penegakan kebijakan diatur ke Diaktifkan.
- Pilih Tinjau + buat, lalu pilih Buat.
Membuat penetapan kebijakan untuk menerapkan konfigurasi Fluks
Selanjutnya, kembali ke daftar Definisi (di bagian Penulisan Kebijakan) untuk menerapkan definisi kebijakan konfigurasi ke cakupan yang sama.
Temukan dan pilih konfigurasi kluster Kubernetes dengan konfigurasi Flux v2 menggunakan definisi kebijakan bawaan repositori Git publik, atau salah satu definisi kebijakan lainnya untuk menerapkan konfigurasi Flux.
Pilih Tetapkan kebijakan.
Atur Cakupan ke cakupan yang sama dengan yang Anda pilih saat menetapkan kebijakan pertama, termasuk pengecualian apa pun.
Beri penetapan kebijakan nama dan Deskripsi Penugasan yang mudah diidentifikasi.
Pastikan Penegakan kebijakan diatur ke Diaktifkan.
Pilih Berikutnya untuk membuka tab Parameter .
Atur nilai parameter yang akan digunakan, menggunakan nama parameter dari definisi kebijakan.
- Untuk informasi selengkapnya tentang parameter, lihat Parameter yang didukung GitOps (Flux v2).
- Saat membuat konfigurasi Flux melalui kebijakan, Anda harus memberikan nilai untuk satu (dan hanya satu) parameter ini:
repositoryRefBranch
, ,repositoryRefTag
repositoryRefSemver
,repositoryRefCommit
.
Pilih Berikutnya untuk membuka tugas Remediasi .
Aktifkan Buat tugas remediasi.
Verifikasi bahwa Buat Identitas Terkelola dicentang, dan Kontributor tercantum di bagian Izin . Untuk informasi selengkapnya, lihat Mulai Cepat: Membuat penetapan kebijakan untuk mengidentifikasi sumber daya yang tidak patuh dan Memulihkan sumber daya yang tidak sesuai dengan Azure Policy.
Pilih Tinjau + buat, lalu pilih Buat.
Konfigurasi kemudian diterapkan ke kluster baru yang dibuat dalam cakupan penetapan kebijakan.
Untuk kluster yang ada, Anda mungkin perlu menjalankan tugas remediasi secara manual. Tugas ini biasanya memakan waktu 10 hingga 20 menit agar penetapan kebijakan diterapkan.
Memverifikasi penetapan kebijakan
- Dalam portal Azure, navigasikan ke kluster Kubernetes atau AKS dengan dukungan Azure Arc yang berada dalam cakupan penetapan kebijakan.
- Di menu layanan, di bawah Pengaturan, pilih GitOps. Dalam daftar Konfigurasi, Anda akan melihat konfigurasi yang dibuat oleh penetapan kebijakan.
- Di menu layanan, di bawah Sumber daya Kubernetes, pilih Namespace. Anda akan melihat namespace layanan yang dibuat oleh konfigurasi Flux.
Mengkustomisasi kebijakan
Kebijakan bawaan mencakup skenario utama untuk menggunakan GitOps dengan Flux v2 di kluster Kubernetes Anda. Namun, karena batas 20 parameter yang diizinkan dalam penetapan Azure Policy, tidak semua parameter disertakan dalam kebijakan bawaan. Selain itu, agar sesuai dengan batas parameter 20 ini, hanya satu kustomisasi yang dapat dibuat dengan kebijakan bawaan.
Jika Anda memiliki skenario yang berbeda dari kebijakan bawaan, Anda dapat mengatasi batasan ini dengan membuat kebijakan kustom menggunakan kebijakan bawaan sebagai templat. Untuk mengatasi batas 20 parameter, buat kebijakan kustom yang hanya berisi parameter yang Anda butuhkan dan kode keras sisanya.