使用 Azure Pipelines 的 AKS 應用程式 CI/CD

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

重要

使用 AKS 和 Azure DevOps 的微服務是使用 Azure DevOps 設計 CI/CD 管線的變體。 本文著重於使用 Azure Pipelines 部署 AKS 應用程式的特定 AKS Facet。

潛在的使用案例

使用 Azure Pipelines 部署 AKS 應用程式。

架構

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

下載此架構的 Visio 檔案

資料流程

  1. Azure Repos Git 的提取要求會觸發 PR 管線。 此管線會執行快速質量檢查,例如Linting、building和unit testing程序代碼。 如果有任何檢查失敗,PR 不會合併。 成功執行此管線的結果是PR的成功合併。
  2. 合併至 Azure Repos Git 會觸發 CI 管線。 此管線會執行與 PR 管線相同的工作,並新增一些重要專案。 CI 管線會執行整合測試。 這些測試需要秘密,因此此管線會從 Azure 金鑰保存庫 取得這些秘密。
  3. 成功執行此管線的結果是在非生產 Azure Container Registry 中建立和發佈容器映射。
  4. CI 管線 的完成會觸發CD管線
  5. CD 管線會將 YAML 範本部署到預備 AKS 環境。 範本會從非生產環境指定容器映像。 然後管線會對預備環境執行驗收測試,以驗證部署。 如果測試成功,就會執行手動驗證工作,要求人員驗證部署並繼續管線。 手動驗證步驟是選擇性的。 某些組織會自動部署。
  6. 如果繼續手動介入,CD 管線會將映像從非生產 Azure Container Registry 升級至生產登錄。
  7. CD 管線會將 YAML 範本部署到生產 AKS 環境。 範本會從生產環境指定容器映像。
  8. Container Insights 會定期將效能計量、清查數據和健康情況狀態資訊從容器主機和容器轉送至 Azure 監視器。
  9. Azure 監視器會收集記錄和計量等可觀察性數據,讓操作員能夠分析健康情況、效能和使用方式數據。 Application Insights 會收集所有應用程式特定的監視數據,例如追蹤。 Azure Log Analytics 用來儲存所有數據。

元件

下一步

  • 若要瞭解 AKS 產品藍圖,請參閱 GitHub 上的 Azure Kubernetes Service 藍圖。
  • 如果您需要 Kubernetes 中的重新整理工具,請完成 Azure 學習路徑上的 Kubernetes 簡介。