Configuración no válida: no se ha proporcionado ninguna configuración, intente configurar la variable de entorno KUBERNETES_MASTER

Configuración no válida: no se ha proporcionado ninguna configuración, intente configurar la variable de entorno KUBERNETES_MASTER

ingrese la descripción de la imagen aquí

Error: Kubernetes cluster unreachable: invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable

Error: Get "http://localhost/api/v1/namespaces/devcluster-ns": dial tcp [::1]:80: connectex: No connection could be made because the target machine actively refused it.

Error: Get "http://localhost/api/v1/namespaces/devcluster-ns/secrets/devcluster-storage-secret": dial tcp [::1]:80: connectex: No connection could be made because the target machine actively refused it.

Configuré el clúster de Azure AKS usando Terraform. Después de la configuración, se han producido algunas modificaciones del código. Las modificaciones a otras partes funcionaron normalmente, pero al aumentar o disminuir la cantidad de pods en "default_node_pool", encontramos el siguiente error.

En particular, el problema del proveedor de Kubernetes parece ocurrir al aumentar o disminuir "os_disk_size_gb, node_count" de default_node_pool.

resource "azurerm_kubernetes_cluster" "aks" {
  name                                = "${var.cluster_name}-aks"
  location                            = var.location
  resource_group_name                 = data.azurerm_resource_group.aks-rg.name 
  node_resource_group                 = "${var.rgname}-aksnode"  
  dns_prefix                          = "${var.cluster_name}-aks"
  kubernetes_version                  = var.aks_version
  private_cluster_enabled             = var.private_cluster_enabled
  private_cluster_public_fqdn_enabled = var.private_cluster_public_fqdn_enabled
  private_dns_zone_id                 = var.private_dns_zone_id

  default_node_pool {
    name                         = "syspool01"
    vm_size                      = "${var.agents_size}"
    os_disk_size_gb              = "${var.os_disk_size_gb}"
    node_count                   = "${var.agents_count}"
    vnet_subnet_id               = data.azurerm_subnet.subnet.id
    zones                        = [1, 2, 3]
    kubelet_disk_type            = "OS"
    os_sku                       = "Ubuntu"
    os_disk_type                 = "Managed"
    ultra_ssd_enabled            = "false"
    max_pods                     = "${var.max_pods}"
    only_critical_addons_enabled = "true"
    # enable_auto_scaling = true
    # max_count           = ${var.max_count}
    # min_count           = ${var.min_count}
  }

Especifiqué correctamente el proveedor de kubernetes y helm en proveedor.tf como se muestra a continuación y no hubo ningún problema en la primera distribución.

data "azurerm_kubernetes_cluster" "credentials" {
  name                = azurerm_kubernetes_cluster.aks.name
  resource_group_name = data.azurerm_resource_group.aks-rg.name
}

provider "kubernetes" {
  host                   = data.azurerm_kubernetes_cluster.credentials.kube_config[0].host
  username               = data.azurerm_kubernetes_cluster.credentials.kube_config[0].username
  password               = data.azurerm_kubernetes_cluster.credentials.kube_config[0].password
  client_certificate     = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].client_certificate, )
  client_key             = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].client_key, )
  cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].cluster_ca_certificate, )
}

provider "helm" {
  kubernetes {
    host = data.azurerm_kubernetes_cluster.credentials.kube_config[0].host
    # username               = data.azurerm_kubernetes_cluster.credentials.kube_config[0].username
    # password               = data.azurerm_kubernetes_cluster.credentials.kube_config[0].password
    client_certificate     = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].client_certificate, )
    client_key             = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].client_key, )
    cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].cluster_ca_certificate, )
  }
}

La actualización terrafrom, el plan terraform y la aplicación terraform deben funcionar normalmente.

Los hallazgos adicionales incluyen: En proveedor.tf, lea "/.Agregar y distribuir "kube/config". Esto parece funcionar bien. Pero lo que quiero es "/.Debería funcionar bien sin especificar "kube/config".

provider "kubernetes" {
  config_path            = "~/.kube/config". # <=== add this
  host                   = data.azurerm_kubernetes_cluster.credentials.kube_config[0].host
  username               = data.azurerm_kubernetes_cluster.credentials.kube_config[0].username
  password               = data.azurerm_kubernetes_cluster.credentials.kube_config[0].password
  client_certificate     = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].client_certificate, )
  client_key             = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].client_key, )
  cluster_ca_certificate = base64decode(data.azurerm_kubernetes_cluster.credentials.kube_config[0].cluster_ca_certificate, )
}

Como era de esperar, cuando se planifica terraform, se actualiza terraform, se aplica terraform, "data.azurm_kubernetes_cluster.credentials", ¿no puedo leer esto?

información relacionada