Dela via


Konfigurationsfilen är inte tillgänglig vid anslutning

Den här artikeln beskriver hur du åtgärdar problem som uppstår när du inte kan ansluta till ett Azure Kubernetes Service -kluster (AKS) på grund av en saknad eller ogiltig konfigurationsfil.

Förutsättningar

Symptom

Under ett klusteranslutningsförsök visas ett felmeddelande som liknar följande text:

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)

Orsaker

Kubectl-verktyget och andra Kubernetes-anslutningsverktyg använder en lokal konfigurationsfil med namnet config. Konfigurationsfilen innehåller autentiseringsuppgifter och information för att ansluta till klustret. Som standard:

Vad som händer under en Kubernetes-session beror på vilken användare som kör kubectl-kommandot. Om du har loggat in som användare A och kört båda kommandona händer följande:

  • Kommandot az aks get-credentials försöker lägga till de nya kubeconfig-parametrarna i filen C:\Users\A\.kube\config .

  • Kubectl-kommandot försöker söka i C:\Users\A\.kube\config-filen .

Men för kubectl, om pekaren till kubeconfig-filen har ändrats, ska filen som används för att komma åt klustret finnas på en annan plats.

Obs!

En kubeconfig-fil är en referens till en fil som innehåller konfigurationsparametrar för åtkomst till Kubernetes-kluster. Den refererar inte nödvändigtvis till en fil med namnet kubeconfig.

Felet uppstår om något av följande scenarier inträffar:

Orsak 1: Konfigurationsfilen finns inte

Konfigurationsfilen finns inte på datorn.

Lösning: Spara autentiseringsuppgifterna

Läs in konfigurationsfilen genom att az aks get-credentials köra kommandot i Azure CLI, vilket sparar autentiseringsuppgifterna. Om du inte vill använda standardplatsen anger du parametern --file <config-file-location> med platsen för konfigurationen (till exempel ~/Dir1/Dir2/config eller C:\Dir1\Dir2\config).

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

Orsak 2: Konfigurationsfilen finns i fel katalog

Konfigurationsfilen finns på datorn, men den finns i en annan katalog än där az aks get-credentials kommandot och/eller kubectl-verktyget förväntar sig att det ska vara.

Lösning: Flytta konfigurationsfilen , spara autentiseringsuppgifterna igen eller ändra MILJÖvariabeln KUBECONFIG

Utför en eller flera av följande åtgärder:

  • Flytta konfigurationsfilen till den katalog som du vill att den ska finnas i.

  • Kör kommandot az aks get-credentials. Ange den plats som du vill använda om det inte är standardplatsen.

    az aks get-credentials --resource-group <cluster-resource-group> \
        --name <cluster-name> \
        [--file <config-file-location>]
    
  • Använd något av följande alternativ för att ändra var kubectl söker efter konfigurationsparametrar:

Orsak 3: Konfigurationsfilen har upphört att gälla eller är skadad

Konfigurationsfilen finns på datorn. Det finns också i den förväntade katalogen för az aks get-credentials kommandot och kubectl-verktyget. Men filen har upphört att gälla eller är skadad.

Lösning: Återupprätta autentiseringsuppgifterna

Återupprätta autentiseringsuppgifterna eftersom de befintliga autentiseringsuppgifterna kan ha upphört att gälla eller skadats. I så fall kan du köra az aks get-credentials kommandot med parametern --overwrite-existing .

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

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.