我已经通过 Atlantis 使用 Terragrunt 成功部署了 AKS,现在我想设置凭据以与 Kubernetes API 服务器进行通信。
为此,我设置了KUBECONFIG环境变量以通过 Kubernetes 进行身份验证。
下面是将在 Atlantis Container 中运行的代码,这样我们就可以在仅通过 Terraform 代码设置凭据后一键部署 pod 或 helm。
resource "null_resource" "null" {
provisioner "local-exec" {
command = <<-EOT
echo "$(terraform output kube_config)" > ~/.kube/azurek8s # Storing kube config credential file for kube api server authentication
sed -i '1d;$d' ~/.kube/azurek8s # delete 1st and last line from output
EOT
}
provisioner "local-exec" {
command = "export KUBECONFIG=~/.kube/azurek8s" # setting up env variable for kubeconfig
}
provisioner "local-exec" {
command = "env"
}
}
设置环境变量后,我添加了 env 命令来检查是否实际设置了环境变量。