2017-11-11 330 views

回答

1

虽然Terraform通常使用HCL,但这是JSON的超集(与YAML本身非常相似),因此can also read JSON

一个可能的选择是将您已经拥有的YAML示例转换为JSON,然后在这些示例上使用Terraform。

不幸的是,这不太可能发挥作用,因为关键字可能与Terraform期待的事情有所不同,因此您需要编写一些内容来将输入YAML转换为Terraform资源JSON。此时,将HCL输出添加到转换中可能是值得的,因此如果您打算保持Terraform配置而不是仅仅一次转换并应用配置,则您输出的Terraform配置更具可读性。

做事这种方式是,你有一个可重复使用的Kubernetes配置,可以使用kubectl或其他工具来运行,但给你Terraform的生命周期管理的能力,能够规划与非Kubernetes部分的变化和整合的好处的基础设施(例如设置实例来运行Kubernetes集群)。

我没有用它不多,但我相信Kops将让你保持POD /服务配置在典型Kubernetes YAML文件,但这时可利用Terraform来管理配置,甚至可以让你输出的Terraform配置,以便可以在Kops之外运行它。

+0

欣赏响应。我假设没有办法做像'config = template(...)'那么...? –

+0

不幸的不是。有一些资源支持类似的功能,包括最近添加了对使用swagger规范文件的支持的AWS API网关资源之一。因此,如果您认为它可能有用,则可能需要提出功能请求问题 – ydaetskcoR

相关问题