使用 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 应用程序。
建筑
下载此体系结构的 Visio 文件。
数据流
- Azure Repos Git 的拉取请求(PR)会触发 PR 管道。 此管道运行快速质量检查,例如 linting、生成和单元测试代码。 如果任何检查失败,PR 不会合并。 成功运行此管道的结果是 PR 的成功合并。
- 合并到 Azure Repos Git 会触发 CI 管道。 此管道运行与 PR 管道相同的任务,并添加一些重要内容。 CI 管道会运行集成测试。 这些测试需要机密,因此此管道从 Azure Key Vault 获取这些机密。
- 成功运行此管道的结果是在非生产 Azure 容器注册表中创建和发布容器映像。
- CI 管道的完成 会触发 CD 管道。
- CD 管道将 YAML 模板部署到过渡 AKS 环境。 该模板指定非生产环境中的容器映像。 然后,管道针对过渡环境执行验收测试,以验证部署。 如果测试成功,则运行手动验证任务,要求人员验证部署并恢复管道。 手动验证步骤是可选的。 某些组织将自动部署。
- 如果恢复手动干预,CD 管道会将映像从非生产 Azure 容器注册表提升到生产注册表。
- CD 管道将 YAML 模板部署到生产 AKS 环境。 该模板指定生产环境中的容器映像。
- 容器见解会定期将性能指标、清单数据和运行状况状态信息从容器主机和容器转发到 Azure Monitor。
- Azure Monitor 收集日志和指标等可观测性数据,以便作员可以分析运行状况、性能和使用情况数据。 Application Insights 收集所有特定于应用程序的监视数据,例如跟踪。 Azure Log Analytics 用于存储所有这些数据。
组件
- 容器见解 收集日志和指标和日志,并将其转发到 Azure Monitor。
- Azure 容器注册表 是 Azure 上的托管专用容器注册表服务。 使用容器注册表存储专用容器映像。
- Azure Kubernetes 服务是托管的 Kubernetes 服务 ,Azure 负责处理关键任务,例如运行状况监视和维护。
- Defender for DevOps 执行静态分析,有助于在 AKS 开发和部署中跨多个管道查看安全状况。
后续步骤
- 若要了解 AKS 产品路线图,请参阅 GitHub 上的 Azure Kubernetes 服务(AKS)路线图。
- 如果需要 Kubernetes 中的刷新器,请完成 Azure 学习路径上的 Kubernetes 简介。
相关资源
- 若要了解如何在 AKS 上托管微服务,请参阅 Azure Kubernetes 服务(AKS)上的微服务体系结构。
- 遵循 Azure Kubernetes 服务解决方案旅程。