почему мой терраформ не работает с minikube? - PullRequest
0 голосов
/ 18 июня 2020

Я пытаюсь запустить поды с помощью терраформ в миникубе. При запуске terraform Изображение ошибки применить Я получаю сообщение об ошибке «zip: недействительный zip-файл».

provider "kubernetes" {
  config_context_cluster = "minikube"
}
resource "kubernetes_pod" "echo" {
  metadata {
    name = "echo-example"
    labels {
      App = "echo"
  } }
  spec {
    container {
      image = "hashicorp/http-echo:0.2.1"
      name  = "example2"
      args = ["-listen=:80", "-text='Hello World'"]
      port {
        container_port = 80
} 
}
}
}

1 Ответ

0 голосов
/ 19 июня 2020

Подобных случаев очень много. Например, эта проблема. Вам нужно переместить ваши отдельные tf-файлы в их собственные каталоги, а затем вы можете указать terraform в этот каталог.

Команда plan принимает только каталоги, а команда apply принимает только весь каталог или выходной файл плана (use -out on plan). Я думаю, что это ограничение связано с тем, что terraform требует файл состояния для каждого плана. Вот как я настроил свой проект terraform, обратите внимание, что secrets.tfvars и terraform.tfvars являются общими для обоих планов terraform.

$ tree
.
├── 1-base
│   ├── provider.tf
│   ├── backend.tf
│   └── core.tf
├── 2-k8s
│   ├── 1-k8s.tf
│   ├── 2-helm.tf
│   ├── apps
│   ├── provider.tf
│   ├── backend.tf
│   ├── chart-builds
│   └── charts
├── secrets.tfvars
├── terraform.tfvars
└── todo.md

#From here you can run:

$ terraform init -var-file=secrets.tfvars ./1-base
$ terraform plan -var-file=secrets.tfvars ./1-base
...