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

将微服务与 AKS 和 Azure Devops 配合使用

容器注册表
Azure DevOps
Kubernetes 服务
GitHub

重要

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

可能的用例

使用 AKS 简化基于微服务的体系结构的部署和管理。 AKS 简化了水平缩放、自我修复、负载均衡和机密管理。

体系结构

使用 Azure Pipelines 的 AKS CI/CD 管道的体系结构示意图。

下载此体系结构的 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. 容器见解每隔 3 分钟将容器主机和容器中的性能指标、清单数据和运行状况信息转发到 Azure Monitor。
  9. Azure Monitor 收集可观测性数据(例如日志和指标),以便操作员可以分析运行状况、性能和使用情况数据。 Application Insights 收集所有特定于应用程序的监视数据,例如跟踪。 Azure Log Analytics 用于存储所有这些数据。

组件

  • 容器见解收集日志和指标以及日志,并将其转发到 Azure Monitor。
  • Azure 容器注册表是 Azure 上一个托管的专用容器注册表服务。 使用容器注册表存储专用容器映像。
  • Azure Kubernetes 服务一个是托管的 Kubernetes 服务,Azure 可在其中处理关键任务,例如运行状况监视和维护。

后续步骤