Kubectl 缺少 Terraform Cloud 形式

Kubectl missing form Terraform Cloud

我正在使用 Terraform Cloud 提供一些 k8s 基础设施。

我面临的问题是 kubernetes 的 terraform 提供程序没有 yaml 文件的灵活性。我需要使用 kubectl apply 运行 一些 yaml 文件 当我们从本地机器 运行 时这没问题,但是当它来自 Terraform 云时它会出错

kubectl is not installed 

有办法解决吗?

可能在 terraform cloud 上安装 kubectl

提前致谢

您可以使用带有 local_exec 配置器的 null_resource 下载 kubectl 二进制文件:

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 提供目标 settings/credentials,但这取决于您的集群提供商,例如在 AKS 上您会 运行 az aks get-credentials在使用 kubectl.

之前