Kubectl отсутствует форма Terraform Cloud - PullRequest
0 голосов
/ 04 октября 2019

Я использую облако Terraform для предоставления некоторой инфраструктуры k8s.

Проблема, с которой я сталкиваюсь, заключается в том, что у поставщика terraform для kubernetes нет гибкости файла yaml. Мне нужно запустить некоторые файлы yaml, используя kubectl apply Это было нормально, когда мы запускаем с локальной машины, но когда он из облака Terraform, он ошибается, что

kubectl is not installed 

Есть ли способ решить эту проблему?

возможно установить kubectl в облаке terraform

Заранее спасибо

1 Ответ

0 голосов
/ 04 октября 2019

Вы можете загрузить двоичный файл kubectl, используя null_resource с помощью поставщика local_exec:

resource "null_resource" "custom" {
  # change trigger to run every time
  triggers = {
    build_number = "${timestamp()}"
  }

  # download kubectl
  provisioner "local-exec" {
    command = "curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x kubectl"
  }

  # run kubectl
  provisioner "local-exec" {
    command = "./kubectl apply -f deployment.yaml"
  }
}

Конечно, вы также должны предоставить целевые параметры / учетные данные для kubectl, ноэто зависит от вашего провайдера кластера, например, от AKS вы должны запустить az aks get-credentials перед использованием kubectl.

...