Die Konfigurationsdatei ist beim Herstellen einer Verbindung nicht verfügbar.
In diesem Artikel wird beschrieben, wie Sie Probleme beheben, die auftreten, wenn Sie aufgrund einer fehlenden oder ungültigen Konfigurationsdatei keine Verbindung mit einem Azure Kubernetes Service (AKS)-Cluster herstellen können.
Voraussetzungen
- Azure-Befehlszeilenschnittstelle.
- Das Kubernetes-Cluster-Befehlszeilentool (Kubectl). Sie können kubectl alternativ installieren, indem Sie den Befehl az aks install-cli in Azure CLI ausführen.
Symptome
Während eines Clusterverbindungsversuchs wird eine Fehlermeldung angezeigt, die dem folgenden Text ähnelt:
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)
Ursachen
Das Kubectl-Tool und andere Kubernetes-Verbindungstools verwenden eine lokale Konfigurationsdatei namens "config". Die Konfigurationsdatei enthält Authentifizierungsanmeldeinformationen und Details zum Herstellen einer Verbindung mit dem Cluster. Standardmäßig:
Der Befehl "azks get-credentials" in Azure CLI, der zum Abrufen von Zugriffsanmeldeinformationen für einen verwalteten Kubernetes-Cluster verwendet wird, ändert die Datei "~/.kube/config ".
Der Kubectl-Befehl verwendet die Kubeconfig-Datei (Kubectl-Konfiguration) im Verzeichnis $HOME/.kube .
Was also während einer versuchten Kubernetes-Sitzung geschieht, hängt vom Benutzer ab, der den Kubectl-Befehl ausführt. Wenn Sie sich als Benutzer A angemeldet und beide Befehle ausgeführt haben, geschieht Folgendes:
Der
az aks get-credentials
Befehl versucht, die neuen kubeconfig-Parameter in der Datei "C:\Users\A\.kube\config " hinzuzufügen.Der Befehl kubectl versucht, die Datei "C:\Users\A\.kube\config " zu durchsuchen.
Wenn sich jedoch der Zeiger auf die Kubeconfig-Datei geändert hat, sollte sich die Datei, die für den Zugriff auf den Cluster verwendet wird, an einem anderen Speicherort befinden.
Notiz
Eine Kubeconfig-Datei ist ein Verweis auf eine Datei, die Konfigurationsparameter für den Zugriff auf Kubernetes-Cluster enthält. Es bezieht sich nicht unbedingt auf eine Datei mit dem Namen kubeconfig.
Der Fehler tritt auf, wenn eines der folgenden Szenarien auftritt:
Ursache 1: Die Konfigurationsdatei ist nicht vorhanden.
Die Konfigurationsdatei ist auf Ihrem Computer nicht vorhanden.
Lösung: Speichern der Anmeldeinformationen
Laden Sie die Konfigurationsdatei , indem Sie den az aks get-credentials
Befehl in Azure CLI ausführen, der die Anmeldeinformationen speichert. Wenn Sie den Standardspeicherort nicht verwenden möchten, geben Sie den --file <config-file-location>
Parameter mit dem Speicherort der Konfiguration an (z . B. ~/Dir1/Dir2/config oder C:\Dir1\Dir2\config).
az aks get-credentials --resource-group <cluster-resource-group> \
--name <cluster-name> \
[--file <config-file-location>]
Ursache 2: Die Konfigurationsdatei befindet sich im falschen Verzeichnis.
Die Konfigurationsdatei befindet sich auf Ihrem Computer, befindet sich aber in einem anderen Verzeichnis, von dem der az aks get-credentials
Befehl und/oder das Kubectl-Tool erwartet, dass sie sein wird.
Lösung: Verschieben sie die Konfigurationsdatei , speichern Sie die Anmeldeinformationen erneut, oder ändern Sie die KUBECONFIG-Umgebungsvariable.
Führen Sie eine oder mehrere der folgenden Aktionen aus:
Verschieben Sie die Konfigurationsdatei in das Verzeichnis, in dem sie sich befinden soll.
Führen Sie den Befehl
az aks get-credentials
aus. Geben Sie den gewünschten Speicherort an, wenn er nicht der Standardspeicherort ist.az aks get-credentials --resource-group <cluster-resource-group> \ --name <cluster-name> \ [--file <config-file-location>]
Verwenden Sie eine der folgenden Optionen, um zu ändern, wo kubectl nach Konfigurationsparametern sucht:
Ändern Sie die
KUBECONFIG
Umgebungsvariable so, dass sie auf den aktuellen Speicherort der Konfigurationsdatei verweist. Weitere Informationen finden Sie unter Festlegen der KUBECONFIG-Umgebungsvariable.Führen Sie den Befehl "kubectl config" mit dem
--kubeconfig=<config-file-location>
Parameter aus.
Ursache 3: Die Konfigurationsdatei ist abgelaufen oder ist beschädigt.
Die Konfigurationsdatei befindet sich auf Ihrem Computer. Sie befindet sich auch im erwarteten Verzeichnis für den az aks get-credentials
Befehl und das Kubectl-Tool. Die Datei ist jedoch abgelaufen oder beschädigt.
Lösung: Wiederherstellen der Anmeldeinformationen
Wiederherstellen Sie die Anmeldeinformationen, da die vorhandenen Anmeldeinformationen möglicherweise abgelaufen oder beschädigt sind. In diesem Fall können Sie den az aks get-credentials
Befehl mit dem --overwrite-existing
Parameter ausführen.
az aks get-credentials --resource-group <cluster-resource-group> \
--name <cluster-name> \
--overwrite-existing \
[--file <config-file-location>]
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.