使用 Azure DevOps Starter 将 ASP.NET Core 应用部署到 Azure Kubernetes 服务
Azure DevOps Starter 提供一种简化的体验,你在其中既可使用现有的代码和 Git 存储库,也可选择一个示例应用程序,以便创建连接到 Azure 的持续集成 (CI) 和持续交付 (CD) 管道。
DevOps Starter 还可以:
- 自动创建 Azure 资源,例如 Azure Kubernetes 服务 (AKS)。
- 在 Azure DevOps 中创建并配置一个发布管道,用于设置 CI/CD 的生成和发布管道。
- 创建用于监视的 Azure Application Insights 资源。
- 启用用于容器的 Azure Monitor 以监视 AKS 群集上容器工作负载的性能
在本教程中,将:
- 使用 DevOps Starter 将 ASP.NET Core 应用部署到 AKS
- 配置 Azure DevOps 和 Azure 订阅
- 检查 AKS 群集
- 检查 CI 管道
- 检查 CD 管道
- 提交对 Git 所做的更改并将其自动部署到 Azure
- 清理资源
先决条件
- Azure 订阅。 可以通过 Visual Studio Dev Essentials 免费获取一个。
使用 DevOps Starter 将 ASP.NET Core 应用部署到 AKS
DevOps 入门版在 Azure Pipelines 中创建 CI/CD 管道。 可以创建新的 Azure DevOps 组织,或使用现有的组织。 DevOps Starter 还可在所选的 Azure 订阅中创建 Azure 资源,例如 AKS 群集。
登录 Azure 门户。
在搜索框中键入“DevOps 入门版”,然后选择。 单击“添加”以新建一个。
依次选择“.NET”、“下一步”。
在“选择应用程序框架”下选择“ASP.NET Core”,然后选择“下一步”。
依次选择“Kubernetes 服务”、“下一步”。
配置 Azure DevOps 和 Azure 订阅
创建新的 Azure DevOps 组织,或选择现有的组织。
输入 Azure DevOps 项目的名称。
选择 Azure 订阅。
若要查看其他 Azure 配置设置并确定 AKS 群集的节点数,请选择“更改”。 此窗格显示了各种用于配置 Azure 服务类型和位置的选项。
退出 Azure 配置区域,然后选择“完成”。 配置过程在几分钟后完成。 此过程会在你的 Azure DevOps 组织的 Git 存储库中设置一个示例 ASP.NET Core 应用,创建 AKS 群集,执行 CI/CD 管道,并将应用部署到 Azure。
完成所有操作后,Azure DevOps Starter 仪表板会在 Azure 门户中显示。 也可直接从 Azure 门户的“所有资源”转到 DevOps Starter 仪表板。
在此仪表板中可以查看 Azure DevOps 代码存储库、CI/CD 管道和 AKS 群集。 可在 Azure DevOps 管道中配置其他 CI/CD 选项。 在右侧,选择“浏览”即可查看正在运行的应用。
检查 AKS 群集
DevOps Starter 会自动配置一个 AKS 群集,你可以浏览和自定义此群集。 若要了解 AKS 群集,请执行以下操作:
转到 DevOps Starter 仪表板。
在右侧,选择“AKS 服务”。 此时会打开 AKS 群集的窗格。 可在此视图中执行各种操作,例如,监视容器运行状况、搜索日志、打开 Kubernetes 仪表板。
在右侧,选择“查看 Kubernetes 仪表板”。 (可选)执行相关步骤打开 Kubernetes 仪表板。
检查 CI 管道
DevOps Starter 会自动在你的 Azure DevOps 组织中配置一个 CI/CD 管道。 可以浏览和自定义此管道。 若要了解此管道,请执行以下操作:
转到 DevOps Starter 仪表板。
在 DevOps 入门版仪表板顶部,选择“生成管道”。 浏览器标签页会显示新项目的生成管道。
指向“状态”字段,然后选择省略号 (...)。菜单中会显示多个选项,例如,将新生成排队、暂停某个生成,以及编辑生成管道。
选择“编辑”。
在此窗格中,可以检查生成管道的各种任务。 该生成会执行各种任务,例如,从 Git 存储库提取源、还原依赖项,以及发布用于部署的输出。
在生成管道的顶部,选择生成管道名称。
将生成管道的名称更改为更具描述性的名称,选择“保存并排队”,然后选择“保存”。
在生成管道名称下,选择“历史记录”。 此窗格显示最近针对生成所做的更改的审核线索。 Azure DevOps 会跟踪对生成管道所做的任何更改,并允许进行版本比较。
选择“触发器”。 DevOps Starter 会自动创建一个 CI 触发器,每次向存储库提交内容都会启动新的生成。 (可选)可以选择在 CI 过程中包括或排除分支。
选择“保留期”。 可以根据方案指定策略,以保留或删除特定数目的生成。
检查 CD 发布管道
DevOps Starter 会自动创建并配置从 Azure DevOps 组织部署到 Azure 订阅所要执行的步骤。 这些步骤包括配置 Azure 服务连接,以便在 Azure 订阅中进行 Azure DevOps 身份验证。 自动化还会创建一个发布管道,该管道提供到 Azure 的 CD。 若要详细了解发布管道,请执行以下操作:
选择“生成和发布”,然后选择“发布”。 DevOps Starter 会创建一个发布管道,用于管理到 Azure 的部署。
选择发布管道旁边的省略号 (...),然后选择“编辑”。 发布管道包含一个管道,用于定义发布过程。
在“项目”下选择“删除” 。 在前述步骤中检查过的生成管道会生成用于项目的输出。
在“删除”图标的右侧,选择“持续部署触发器”。 此发布管道有一个已启用的 CD 触发器,每次有新的生成项目可用时,此触发器就会执行部署。 (可选)可以禁用此触发器,这样就需要手动执行部署。
在右侧选择“查看发布”,以显示发布历史记录。
选择某个发布旁边的省略号 (...),然后选择“打开”。 可以浏览多个菜单,例如发布摘要、关联的工作项和测试。
选择“提交”。 此视图显示与此部署关联的代码提交。 请对发布进行比较,查看不同部署之间的提交差异。
选择“日志”。 日志包含有关部署过程的有用信息。 可以在部署期间和之后查看日志。
提交对 Azure Repos 所做的更改并将其自动部署到 Azure
注意
以下过程通过进行简单的文本更改来测试 CI/CD 管道。
现在,可以使用可将最新工作部署到网站的 CI/CD 过程,与某个团队展开应用协作。 每次对 Git 存储库进行更改都会在 Azure DevOps 中启动一个生成,CD 管道可以执行到 Azure 的部署。 遵循本部分所述的过程,或使用其他方法提交对存储库所做的更改。 例如,可以在常用工具或 IDE 中克隆 Git 存储库,然后将更改推送到此存储库。
在 Azure DevOps 菜单中选择“代码”>“文件”,然后转到你的存储库。
转到 Views\Home 目录,选择 Index.cshtml 文件旁边的省略号 (...),然后选择“编辑”。
对该文件进行更改,例如,在某个 div 标记内部添加一些文本。
在右上角选择“提交”,然后再次选择“提交”以推送更改。 片刻之后,某个生成会在 Azure DevOps 中启动,并且某个发布将会执行以部署更改。 使用 Azure DevOps 组织通过 DevOps Starter 仪表板或浏览器监视生成状态。
发布完成后,刷新应用以验证更改。
清理资源
测试后,可以清理资源,以避免产生费用。 不再需要本教程中创建的 AKS 群集和相关资源时,可将其删除。 为此,请使用 DevOps Starter 仪表板上的“删除”功能。
重要
以下过程会永久删除资源。 删除功能会销毁 DevOps Starter 中的项目在 Azure 和 Azure DevOps 中创建的数据,删除后无法检索这些数据。 只能在仔细阅读提示后才使用此过程。
- 在 Azure 门户中,转到 DevOps Starter 仪表板。
- 在右上角选择“删除”。
- 出现提示时,请选择“是”以永久删除这些资源。
后续步骤
可以选择根据所在团队的需求修改这些生成和发布管道。 也可以将此 CI/CD 模式用作其他管道的模板。 在本教程中,你了解了如何执行以下操作:
- 使用 DevOps Starter 将 ASP.NET Core 应用部署到 AKS
- 配置 Azure DevOps 和 Azure 订阅
- 检查 AKS 群集
- 检查 CI 管道
- 检查 CD 管道
- 提交对 Git 所做的更改并将其自动部署到 Azure
- 清理资源
若要详细了解如何使用 Kubernetes 仪表板,请参阅: