【问题标题】:GCP Deployment Manager - What Dev Ops Tool To Use In Conjunction?GCP 部署管理器 - 结合使用什么 Dev Ops 工具?
【发布时间】:2020-04-30 11:02:10
【问题描述】:

我目前正在研究 GCP 的部署管理器以部署新项目、虚拟机和 Cloud Storage 存储分区。 我们需要一个经过身份验证的用户可以连接到的 Web 前端,以便部署所需的基础架构,但我不确定推荐哪些 Dev Ops 工具与该系统一起使用。我们有一个 Jenkins 和 Octopus Deploy 实例,尽管我在 Google 的配置管理页面 (https://cloud.google.com/solutions/configuration-management) 上看到他们建议使用其他工具,例如 Ansible、Chef、Puppet 和 Saltstack。

我假设通过其中一个我可以更新一些简单的东西,比如 config.yaml 文件中的名称变量并部署一个项目。

我能否确保为项目、VM 或 Cloud Storage 存储分区选择的名称符合这些系统之一的特定命名约定?

其他人使用哪个系统,为什么?

【问题讨论】:

  • 您好,您能否在“验证用户的 Web 前端”上下文中提供您的详细用例?根据doc GCP 支持 terraform、puppet、ansible ......作为 IaC 解决方案以及部署管理器。您还可以在这些文档中找到支持的 CI toolsCD tools
  • 部署管理器旨在配置 GCP 资源,您链接的页面提到了与它一起使用的配置工具。 IE DM 会配置基础设施,然后像 Ansible 之类的东西会用适当的应用程序和设置配置您的前端
  • 本质上,DM 只是在你的 DevOps 工具箱中替换了 terraform

标签: google-cloud-platform devops google-deployment-manager


【解决方案1】:

我使用 Deployment Manager,因为所有第 3 方工具都依赖于 GCP API 的存在,并且相信这些 API 与底层 GCP 技术的实际功能一致。

GCP 明显落后于 API 开发,这意味着即使您想要使用 TF 或其他任何东西,在某些时候您还是会被困在 SDK 中。这就是我选择 Deployment Manager 的原因,因为我想让我的整个基础设施/应用程序部署使用我更熟悉的其他工具。

要专门回答有关验证命名架构的问题,您可能想要编写一个使用 gcloud deployment-manager 子命令的包装脚本。在包装脚本中进行验证,然后运行 gcloud deployment-manager 的东西。

关于 Deployment Manager 的警告:它使故障排除变得非常困难。很多时候,它会掩盖可以帮助您实际确定问题根本原因的错误。我无法告诉你我办公室里有人喊了多少次“UGGH!闭嘴用你的Error 400!”我希望谷歌从我尖锐的调查反馈中注意到并重构DM以传递原始错误。

无论如何,希望这会有所帮助。 GCP 已经走了很长一段路,但他们仍有工作要做。

【讨论】:

  • 非常感谢!我想我会考虑在 App Engine 中托管部署管理器脚本(在具有创建项目的服务帐户的项目中)。然后我们可以简单地浏览到一个 URL,添加适当的配置,如名称等,然后单击一个名为“部署”的漂亮大按钮。
  • 嘿,@TitianRob16,请注意,我现在是 2 对 2,我向 GCP 主题专家(包括 Google 员工和第 3 方支持合作伙伴)寻求部署管理器的帮助,以及从字面上看,他们的第一反应是,“你为什么选择 Deployment Manager 而不是其他更成熟的东西,比如 Terraform?”所以,也就是说,我现在在我的积压工作中有几张票用于重构我们在 TF 中的整个事情。也许在深入部署管理器 K-Hole 之前先研究一下。
  • 谢谢@ingernet!我了解到,最近谷歌部署管理器不断抛出红鲱鱼 403 错误消息,即使使用简单的 gcloud 命令也是如此。自从迁移到 Terraform 后,我们没有遇到任何问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-01
  • 2020-11-20
  • 2021-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多