你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure Pipelines 实现 AKS 应用的 CI/CD

Azure 容器注册表
Azure DevOps
Azure Kubernetes 服务 (AKS)
GitHub

重要

将微服务与 AKS 和 Azure DevOps 配合使用是使用 Azure DevOps 设计 CI/CD 管道的另一种方式。 本文重点介绍了使用 Azure Pipelines 部署 AKS 应用程序的特定 AKS 方面的内容。

可能的用例

使用 Azure Pipelines 部署 AKS 应用程序。

体系结构

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

下载此体系结构的 Visio 文件

数据流

  1. 针对 Azure Repos Git 的拉取请求 (PR) 会触发 PR 管道。 此管道会运行快速质量检查,例如 Lint 分析、生成代码并对其进行单元测试。 如果任何检查失败,PR 不会合并。 成功运行此管道的结果是 PR 成功合并。
  2. 针对 Azure Repos Git 的合并会触发 CI 管道。 此管道运行的任务与 PR 管道相同,并增加一些重要内容。 CI 管道会运行集成测试。 这些测试需要机密,因此该管道会从 Azure Key Vault 获取这些机密。
  3. 成功运行此管道后,将在非生产 Azure 容器注册表中创建并发布一个容器映像。
  4. CI 管道的完成会触发 CD 管道
  5. CD 管道将一个 YAML 模板部署到 AKS 过渡环境。 该模板指定非生产环境中的容器映像。 然后,管道针对过渡环境执行验收测试,以便验证部署。 如果测试成功,则会运行手动验证任务,要求人员验证部署并恢复管道。 手动验证步骤是可选的。 某些组织会自动部署。
  6. 如果恢复手动干预,则 CD 管道会将映像从非生产 Azure 容器注册表提升到生产注册表。
  7. CD 管道将一个 YAML 模板部署到 AKS 生产环境。 该模板指定生产环境中的容器映像。
  8. 容器见解会定期将容器主机和容器中的性能指标、清单数据和运行状况信息转发到 Azure Monitor。
  9. Azure Monitor 收集可观测性数据(例如日志和指标),以便操作员可以分析运行状况、性能和使用情况数据。 Application Insights 收集所有特定于应用程序的监视数据,例如跟踪。 Azure Log Analytics 用于存储所有这些数据。

组件

  • 容器见解收集日志和指标以及日志,并将其转发到 Azure Monitor。
  • Azure 容器注册表是 Azure 上一个托管的专用容器注册表服务。 使用容器注册表存储专用容器映像。
  • Azure Kubernetes 服务一个是托管的 Kubernetes 服务,Azure 可在其中处理关键任务,例如运行状况监视和维护。
  • Defender for DevOps 可执行静态分析,并帮助你了解 AKS 开发和部署中多个管道的安全状况。

后续步骤