【发布时间】:2021-05-13 10:23:54
【问题描述】:
我们正在尝试在 AKS 群集中创建 namespaces 到 terraform。但是,它一直因错误而失败。将Service Principal 用于az login
配置-
resource "null_resource" "aks_login" {
triggers = {
always_run = "${timestamp()}"
}
provisioner "local-exec" {
command = "az aks get-credentials -g rg-my-cluster -n my-cluster --admin --overwrite-existing"
}
}
resource "kubernetes_namespace" "test0" {
metadata {
name = "ns-test0"
}
depends_on = [null_resource.aks_login]
}
resource "kubernetes_namespace" "test1" {
for_each = toset( var.testVal )
metadata {
labels = {
istio-injection = "enabled"
}
name = "ns-test1-${each.key}"
}
depends_on = [null_resource.aks_login]
}
错误如下:
module.namespaces.null_resource.aks_login (local-exec): Executing: ["/bin/sh" "-c" "az aks get-credentials -g rg-my-cluster -n my-cluster --admin --overwrite-existing"]
module.namespaces.null_resource.aks_login (local-exec): Merged "my-cluster-admin" as current context in /home/hpad/.kube/config
module.namespaces.null_resource.aks_login: Creation complete after 1s [id=1979085082878134694]
module.namespaces.kubernetes_namespace.test0: Creating...
module.namespaces.kubernetes_namespace.test1["t1"]: Creating...
Error: Post "http://localhost/api/v1/namespaces": dial tcp [::1]:80: connect: connection refused
Error: Post "http://localhost/api/v1/namespaces": dial tcp [::1]:80: connect: connection refused
即使正在登录 AKS,它仍在考虑创建本地 k8s 集群。我是否在这里遗漏了什么或者可能是由于提供程序中的错误。
kubernetes 提供程序配置当前为空。但是,我们没有kubeconfig 文件,所以不能使用它。此外,使用host、client_certificate、client_key 和cluster_ca_certificate 会抛出Unauthorized 错误(因为它应该会阻止访问)
参考了一些来自 -
【问题讨论】: