我有一个 .NET 核心 Web API 和 Angular 7 应用程序,我需要将其部署到多个客户端服务器,可能会运行大量不同的操作系统设置。
Docker 化整个应用程序似乎是处理此问题的最佳方式,因此我可以确保它无论走到哪里都能正常工作。
我的问题是关于我对 Kubernetes 和应用程序分布的理解。我们使用 Azure Dev Ops 构建管道,所以如果我是正确的,它会按如下方式工作:
1) Azure Dev Ops 将镜像构建并部署为 Docker 容器。
2) Kubernetes 可以意识到有一个新版本的 docker 镜像并将其推送到所有不同的客户端服务器?
3) 客户端特定的应用程序设置可以由 Kubernetes secret 处理。
这样的设置合理吗?我错过了什么吗?是否有任何关于设置/指南的建议我可以遵循以开始使用。
提前致谢,詹姆斯
最佳答案
Azure DevOps 将执行管道的 CI 部分。完成后,Azure DevOps 会将图像推送到 ACR。 CD 部分应该直接从 Azure DevOps 完成(您可能必须在本地服务器上安装私有(private)代理并配置防火墙等)或 Kubernetes native CD 工具,例如 Spinnaker或 Jenkins-X . secret 应该保存在 Kubernetes secret 中。
关于带有本地服务器的 Docker/Kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55703524/