Azure DevOps — Kubernetes 上的自托管代理 — 第 5 部分
欢迎来到第五部分。在优化 CI/CD 工作流程的过程中,我们探索了如何设置 Linux、Windows 和 Docker-in-Docker (DinD) 自托管代理,将它们集成到 Kubernetes,并确保与 Azure DevOps 无缝连接。然而,在实际项目中,通过清单文件单独管理这些代理可能会非常繁琐。为了简化此流程,我们引入了 Helm Charts 来部署这些代理。
Helm Charts 简介
Helm Charts 提供了一种便捷的方式来管理 Kubernetes 上复杂应用程序和服务的部署。通过将配置详细信息封装到可重用的模板中,Helm Charts 简化了部署流程,并实现了对各种组件的更佳控制。
Helm Chart 结构
az-selfhosted-agents/├── charts/├── templates/│ ├── dind-deploy.yaml│ ├── windows-deploy.yaml│ ├── linux-deploy.yaml│ ├── secret.yaml│ ├── sysbox-install.yaml│ ├── _helpers.tpl├── values.yaml├── .helmignore├── Chart.yaml├── LICENSE└── README.md
使用 Helm Chart 部署代理
在本部分中,我们将使用单个 Helm Chart 部署 Linux、Windows 和 DinD 代理。Helm 的灵活性使我们能够根据项目需求选择性地安装或跳过特定的自托管代理。
默认情况下,Helm Chart 中禁用所有三种类型的代理(Linux、Windows 和 DinD)。要安装特定代理,我们可以使用以下命令:
示例:Linux
helm install az-selfhosted-agents ./az-selfhosted-agents \--set linux.enabled=true \--create-namespace -n az-devops
此命令会创建一个新的命名空间 az-devops,并安装指定的代理,即 Linux 代理。
或者,如果您想安装所有代理,可以使用以下命令:
helm install az-selfhosted-agents ./az-selfhosted-agents \--set windows.enabled=true \--set linux.enabled=true \--set dind.enabled=true \--create-namespace -n az-devops
结论
使用 Helm Charts,管理自托管代理的部署变得更加高效且可扩展。借助 Helm 的功能,我们可以根据项目需求轻松配置和部署代理,从而简化 CI/CD 流水线的设置流程。