Share via


Configuratiebestand is niet beschikbaar wanneer u verbinding maakt

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

Vereisten

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 kubernetes-sessie is dus afhankelijk van de gebruiker die de kubectl-opdracht uitvoert. Als u zich hebt aangemeld als gebruiker A en beide opdrachten hebt uitgevoerd, gebeurt het volgende:

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

  • Met de kubectl-opdracht wordt geprobeerd het C :\Users\A\.kube\config-bestand te doorzoeken .

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

Opmerking

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: Sla de referenties op

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 te zijn.

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

Voer een of meer van de volgende acties uit:

  • Verplaats het configuratiebestand naar de map waarin het zich wilt bevinden.

  • 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 naar configuratieparameters zoekt:

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 hulpprogramma kubectl. Maar het bestand is verlopen of beschadigd.

Oplossing: De referenties opnieuw opgeven

Herstel de referenties, omdat de bestaande referenties mogelijk zijn verlopen of beschadigd. 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 Feedback-community van Azure.