使用 AKS 和 Azure DevOps 的微服務

Container Registry
Azure DevOps
Kubernetes Service
GitHub

重要事項

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

潛在使用案例

使用 AKS 來簡化微服務架構的部署和管理。 AKS 可簡化水準調整、自我修復、負載平衡和秘密管理。

架構

使用 Azure Pipelines 的 AKS CI/CD 管線架構圖表。

下載這個架構的 Visio 檔案

資料流程

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

單元

  • Container Insights 會收集記錄和計量和記錄,並將其轉送至 Azure 監視器。
  • Azure Container Registry是 Azure 上的受控私人容器登錄服務。 使用 Container Registry 來儲存私人容器映射。
  • Azure Kubernetes Service是受控 Kubernetes 服務,其中 Azure 會處理重要工作,例如健康情況監視和維護。

下一步