介绍
按照使用 Azure Pipelines 自动执行 Docker 容器部署中所述的说明,可增强发布管道,以生成 ASP.NET Core 应用程序并将其作为 Docker 容器发布,然后将其部署到 Azure 应用服务。 这种迁移到基于容器的项目的举措为产品团队带来了许多好处。 此外,采用容器技术有可能在将来带来各种创新机会。
随着开发组织的不断扩展,他们提供的解决方案的复杂性也随之增加。 随着各种产品和服务彼此依赖度的提升,给定应用程序中的各种组件会出现不同的开发和操作要求。 提高体系结构效率的一种方法是将这些组件重构为独立的微服务。
微服务是一种小型独立服务,旨在自包含并实现特定的业务功能。 容器为构建和部署这些服务奠定了良好的技术基础,但这引发了一个新问题:我们如何管理所有这些正在使用的容器?
这正是 Kubernetes 等业务流程技术发挥作用的地方。 Kubernetes 是一个旨在管理容器化工作负荷和服务的平台。 对于必须跨各种环境部署、集成和监视的容器数量不断增加的组织来说,这是一个不错的选择。
在本模块中,你将加入 Tailspin Toys Web 团队,和他们一起探索在 Azure 中使用 Kubernetes 的方法。 你将了解如何更新发布管道,以生成、发布多个 Docker 容器,并将其部署到 Kubernetes 群集。
尽管本模块重点介绍生成和部署容器应用时需执行的核心任务,但需要了解的一点是,Azure Pipelines 的所有其他功能仍可用于将容器部署到 Kubernetes。 你可以集成测试、定义多个阶段并执行其他任务,就像处理现有应用程序一样。 我们在此省略对这些任务的介绍,以关注重点。
学习目标
完成此模块后,你将能够:
- 说明 Kubernetes 的好处以及何时使用它。
- 创建 Azure 资源以支持 Kubernetes 群集。
- 更新基本发布管道,以生成、发布多个 Docker 容器,并将其部署到 Kubernetes 群集。
- 监视项目的生成和部署。
先决条件
此学习路径中的模块是循序渐进的。 若要从头开始跟踪本系列的进展,请完成 Azure DevOps 入门和使用 Azure DevOps 生成应用程序学习路径。
若要从头开始完成此学习路径,请单击此处的链接:使用 Azure DevOps 部署应用程序。 此模块将接着通过 Azure Pipelines 自动执行 Docker 容器部署中的内容往下讲。
本模块还假设你对 Kubernetes 有基本了解,尽管完成本模块无需这些知识。 如果你不熟悉本主题,建议先完成在 Azure 中管理容器学习路径。
注意
Azure Pipelines 支持丰富的语言和应用程序类型。 在本模块中,你将使用 .NET 应用程序,但可通过在此处学习的模式处理使用自己喜欢的编程语言和框架的项目。
认识团队
在之前的模块中,你已认识了 Tailspin Toys 的 Space Game Web 团队。 Space Game Web 团队将在本模块中与你再度合作:
Andy 是开发主管。
Amita 是 QA 人员。
Tim 是执行人员。
Mara 是刚加入的开发人员,受 Andy 领导。
Mara 之前有使用 DevOps 的经验。 她在帮助团队采用一种自动化程度更高的使用 Azure DevOps 的过程。