Google cloud platform Terraform vs gcloud部署管理器

Google cloud platform Terraform vs gcloud部署管理器,google-cloud-platform,gcloud,terraform,Google Cloud Platform,Gcloud,Terraform,我正面临一个可选的gcloud部署管理器平台 这两种工具都提供类似的功能,不幸的是,它们缺少所有资源 例如: gcloud可以创建服务帐户(terraform无法) terraform可以管理DNS记录集(gcloud无法) 还有很多其他的 问题: 你能推荐一种工具吗 您认为,从长远来看,哪个工具将拥有更丰富的可用资源 您在项目中使用哪种解决方案 有人可能会说,这不是您在stackoverflow上应该问的问题,但无论如何我都会回答 可以组合多个工具。您应该运行的主要工具是Terrafor

我正面临一个可选的gcloud部署管理器平台

这两种工具都提供类似的功能,不幸的是,它们缺少所有资源

例如:

  • gcloud可以创建服务帐户(terraform无法)
  • terraform可以管理DNS记录集(gcloud无法)
  • 还有很多其他的
问题:

  • 你能推荐一种工具吗
  • 您认为,从长远来看,哪个工具将拥有更丰富的可用资源
  • 您在项目中使用哪种解决方案

有人可能会说,这不是您在stackoverflow上应该问的问题,但无论如何我都会回答

可以组合多个工具。您应该运行的主要工具是Terraform。使用Terraform管理其本机支持的所有资源,并使用它调用
gcloud
(或任何其他内容)。虽然有时它不是很优雅,但它会使工作更完美


实际上,我在
external

中调用
awscli
时也采用了相同的方法,我个人发现部署管理器很难开始我想做的事情。虽然我以前有过地形的经验,所以我可能会有偏见。地形对我来说更容易

尽管如此,
gcloud
命令行工具非常好,正如Anton所说,您可以在需要时通过
external
将其输入。还要注意的是,这是terraform所做的,并且已经做了很长时间了。在我添加新功能等方面的经验中,它们也相当不错。是的,Gcloud部署管理器可能会首先拥有它们,因为它的google内部提供了这些功能,但terraform永远不会落后

从长远来看,terraform可能更容易与其他服务集成,而且总是可以选择向其他提供商提供服务。除此之外,您还可以使用一种配置格式。因为这就是terraform所做的,我发现你构建和使用它的方式非常合乎逻辑,并且容易理解。如果你想与其他团队成员分享和合作,那么这些东西是很有价值的。


Deployment Manager是一个声明式部署编排工具,专门用于Google云平台。因此,如果您都是Google的用户,或者只是想在我们的基础设施上自动化您的流程,那么您当然可以使用Deployment Manager实现这一点。Deployment Manager还允许您与身份访问管理等其他GCP服务集成。Puppet、Chef和Terraform等跨平台替代方案跨多个云提供商工作。它们不是托管的,您最终要建立自己的基础设施来支持它们。来自AWS的云形成仅在AWS基础设施内工作,并且与AWS服务集成良好。

征求意见和/或软件/服务建议的问题在这里完全是离题的。您所说的“terraform可以管理DNS记录集(gcloud不能)”是什么意思?“gcloud dns”呢?当然有gcloud dns,但您不能通过gcloud部署管理器管理它。这意味着您不能将100%的基础架构作为代码。你必须编写一个脚本来部署基础设施,然后运行gclouddns等。。。