CI/CD untuk aplikasi AKS dengan Azure Pipelines

Azure Container Registry
Azure DevOps
Azure Kubernetes Service (AKS)
GitHub

Penting

Layanan mikro dengan AKS dan Azure DevOps adalah varian Desain alur CI/CD menggunakan Azure DevOps. Artikel ini berfokus pada faset khusus AKS dalam menyebarkan aplikasi AKS dengan Azure Pipelines.

Kemungkinan kasus penggunaan

Gunakan Azure Pipelines untuk menyebarkan aplikasi AKS.

Arsitektur

Architecture diagram of an AKS CI/CD pipeline using Azure Pipelines.

Unduh file Visio arsitektur ini.

Aliran data

  1. Permintaan pull (PR) ke Azure Repos Git memicu alur PR. Alur ini menjalankan pemeriksaan kualitas cepat seperti linting, bangunan, dan pengujian unit kode. Jika salah satu pemeriksaan gagal, PR tidak bergabung. Hasil dari keberhasilan eksekusi alur ini adalah penggabungan PR yang berhasil.
  2. Penggabungan ke Azure Repos Git memicu alur CI. Alur ini menjalankan tugas yang sama dengan alur PR dengan beberapa tambahan penting. Alur CI menjalankan pengujian integrasi. Pengujian ini memerlukan rahasia, sehingga alur ini mendapatkan rahasia tersebut dari Azure Key Vault.
  3. Hasil dari keberhasilan eksekusi alur ini adalah pembuatan dan penerbitan gambar kontainer di Azure Container Registry non-produksi.
  4. Penyelesaian alur CI memicu alur CD.
  5. Alur CD menyebarkan templat YAML ke lingkungan AKS penahapan. Templat menentukan gambar kontainer dari lingkungan non-produksi. Alur kemudian melakukan pengujian penerimaan terhadap lingkungan penahapan untuk memvalidasi penyebaran. Tugas validasi manual dijalankan jika pengujian berhasil, mengharuskan seseorang memvalidasi penyebaran dan melanjutkan alur. Langkah validasi manual bersifat opsional. Beberapa organisasi akan secara otomatis menyebarkan.
  6. Jika intervensi manual dilanjutkan, alur CD mempromosikan gambar dari Azure Container Registry non-produksi ke registri produksi.
  7. Alur CD menyebarkan templat YAML ke lingkungan AKS produksi. Templat menentukan gambar kontainer dari lingkungan produksi.
  8. Container Insights secara berkala meneruskan metrik performa, data inventori, dan informasi status kesehatan dari host kontainer dan kontainer ke Azure Monitor.
  9. Azure Monitor mengumpulkan data observabilitas seperti log dan metrik sehingga operator dapat menganalisis data kesehatan, performa, dan penggunaan. Application Insights mengumpulkan semua data pemantauan khusus aplikasi, seperti jejak. Azure Log Analytics digunakan untuk menyimpan semua data tersebut.

Komponen

  • Container Insights mengumpulkan log dan metrik serta log dan meneruskannya ke Azure Monitor.
  • Azure Container Registry adalah layanan registri kontainer privat terkelola di Azure. Gunakan Container Registry untuk menyimpan gambar kontainer privat.
  • Azure Kubernetes Service adalah layanan Kubernetes terkelola di mana Azure menangani tugas penting, seperti pemantauan dan pemeliharaan kesehatan.
  • Defender for DevOps melakukan analisis statis dan membantu Anda mendapatkan visibilitas postur keamanan di beberapa alur dalam pengembangan dan penyebaran AKS.

Langkah berikutnya