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/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 terlebih dahulu 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) tempat Anda akan 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 ke 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.
- Dalam kategori "Kubernetes", pilih Konfigurasikan penginstalan ekstensi Flux pada definisi kebijakan bawaan kluster Kubernetes.
- Pilih Tetapkan.
- 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.
Dalam kategori "Kubernetes", 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.
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, lalu pilih Berikutnya lagi untuk membuka tab Parameter .
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) parameter ini:
repositoryRefBranch
, ,repositoryRefTag
repositoryRefSemver
,repositoryRefCommit
.
Pilih Berikutnya untuk membuka tugas Remediasi .
Aktifkan Buat tugas remediasi.
Verifikasi bahwa Buat Identitas Terkelola dicentang, dan identitas memiliki izin Kontributor . 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 Kubernetes atau AKS baru dengan dukungan Azure Arc 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
Di portal Azure, navigasikan ke salah satu kluster Kubernetes atau AKS dengan dukungan Azure Arc.
Di bagian Pengaturan bilah samping, pilih GitOps.
Dalam daftar konfigurasi, Anda akan melihat konfigurasi yang dibuat oleh penetapan kebijakan.
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 juga akan melihat objek yang dijelaskan oleh manifes dalam repositori Git yang disebarkan pada kluster.
Mengkustomisasi kebijakan
Kebijakan bawaan mencakup skenario utama untuk menggunakan GitOps dengan Flux v2 di kluster Kubernetes Anda. Namun, karena keterbatasan jumlah parameter yang diizinkan dalam penetapan Azure Policy (maksimal 20), tidak semua parameter ada dalam kebijakan bawaan. Selain itu, agar sesuai dengan batas parameter 20, 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 parameter 20.