Хотя Terraform обычно использует HCL, это надмножество JSON (как и сам YAML), поэтому также может читать JSON.
Одним из возможных вариантов было бы взять уже имеющиеся у вас примеры YAML и преобразовать их в JSON, а затем использовать для них Terraform.
К сожалению, это вряд ли сработает, потому что ключевые слова, вероятно, будут отличаться для того, как Terraform ожидает вещи, поэтому вам нужно будет что-то написать, чтобы сделать базовый перевод входного YAML в JSON ресурса Terraform. На этом этапе, вероятно, стоит просто добавить выходные данные HCL к преобразованию, чтобы ваша выходная конфигурация Terraform была более читабельной, если вы когда-либо намереваетесь сохранить конфигурацию Terraform, а не просто конвертировать и применять конфигурацию одним выстрелом.
Преимущество такого подхода заключается в том, что у вас есть повторно используемая конфигурация Kubernetes, которую можно запускать с помощью kubectl
или других инструментов, но которая дает вам возможности управления жизненным циклом Terraform, возможность планировать изменения и интеграцию с частями вашей инфраструктуры, не относящимися к Kubernetes ( например, настроить экземпляры для запуска кластера Kubernetes).
Я мало использовал его, но считаю, что Kops позволит вам сохранить конфигурацию pod/service в обычном Kubernetes YAML, но затем может использовать Terraform для управления конфигурацией и даже позволяет вам выводить конфигурацию Terraform, чтобы вы могли запускать ее вне самого Kops.
person
ydaetskcoR
schedule
11.11.2017