Delen via


Configuratiebestand is niet beschikbaar wanneer u verbinding maakt

In dit artikel wordt beschreven hoe u problemen oplost die optreden wanneer u geen verbinding kunt maken met een AKS-cluster (Azure Kubernetes Service) vanwege een ontbrekend of ongeldig configuratiebestand .

Voorwaarden

Symptomen

Tijdens een clusterverbindingspoging wordt een foutbericht weergegeven dat lijkt op de volgende tekst:

Unable to connect to the server: dial tcp [::1]:8080: connectex: No connection could be made because the target machine actively refused it. 

error: You must be logged in to the server (the server has asked for the client to provide credentials)

Oorzaken

Het hulpprogramma kubectl en andere Kubernetes-verbindingshulpprogramma's gebruiken een lokaal configuratiebestand met de naam config. Het configuratiebestand bevat verificatiereferenties en details om verbinding te maken met het cluster. Standaard:

Wat er gebeurt tijdens een geprobeerde Kubernetes-sessie, is dus afhankelijk van de gebruiker die de kubectl-opdracht uitvoert. Als u zich als gebruiker A hebt aangemeld en beide opdrachten hebt uitgevoerd, gebeurt het volgende:

  • De az aks get-credentials opdracht probeert de nieuwe kubeconfig-parameters toe te voegen in het bestand C:\Users\A\.kube\config .

  • De kubectl-opdracht probeert het bestand C:\Users\A\.kube\config te doorzoeken .

Maar als de aanwijzer naar het kubeconfig-bestand is gewijzigd voor kubectl, moet het bestand dat wordt gebruikt voor toegang tot het cluster, zich op een andere locatie bevinden.

Notitie

Een kubeconfig-bestand is een verwijzing naar een bestand dat configuratieparameters bevat voor toegang tot Kubernetes-clusters. Het verwijst niet noodzakelijkerwijs naar een bestand met de naam kubeconfig.

De fout treedt op als een van de volgende scenario's optreedt:

Oorzaak 1: Het configuratiebestand bestaat niet

Het configuratiebestand bestaat niet op uw computer.

Oplossing: De referenties opslaan

Laad het configuratiebestand door de az aks get-credentials opdracht uit te voeren in Azure CLI, waarmee de referenties worden opgeslagen. Als u de standaardlocatie niet wilt gebruiken, geeft u de --file <config-file-location> parameter op met de locatie van de configuratie (bijvoorbeeld ~/Dir1/Dir2/config of C:\Dir1\Dir2\config).

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    [--file <config-file-location>]

Oorzaak 2: Het configuratiebestand bevindt zich in de verkeerde map

Het configuratiebestand bevindt zich op uw computer, maar bevindt zich in een andere map dan waar de az aks get-credentials opdracht en/of het kubectl-hulpprogramma verwacht dat het is.

Oplossing: Verplaats het configuratiebestand , sla de referenties opnieuw op of wijzig de omgevingsvariabele KUBECONFIG

Voer een of meer van de volgende acties uit:

  • Verplaats het configuratiebestand naar de map waarin het zich bevindt.

  • Voer de opdracht az aks get-credentials uit. Geef de gewenste locatie op als dit niet de standaardlocatie is.

    az aks get-credentials --resource-group <cluster-resource-group> \
        --name <cluster-name> \
        [--file <config-file-location>]
    
  • Gebruik een van de volgende opties om te wijzigen waar kubectl zoekt naar configuratieparameters:

    • Wijzig de KUBECONFIG omgevingsvariabele zodat deze verwijst naar de huidige locatie van het configuratiebestand . Zie De omgevingsvariabele KUBECONFIG instellen voor meer informatie.

    • Voer de kubectl-configuratieopdracht uit met de --kubeconfig=<config-file-location> parameter.

Oorzaak 3: Het configuratiebestand is verlopen of is beschadigd

Het configuratiebestand bevindt zich op uw computer. Deze bevindt zich ook in de verwachte map voor de az aks get-credentials opdracht en het kubectl-hulpprogramma. Maar het bestand is verlopen of beschadigd.

Oplossing: De referenties herstellen

Herstel de referenties, omdat de bestaande referenties mogelijk verlopen of beschadigd zijn. In dat geval kunt u de az aks get-credentials opdracht uitvoeren met de --overwrite-existing parameter.

az aks get-credentials --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    --overwrite-existing \
    [--file <config-file-location>]

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.