2017-11-11 166 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

相關問題