Le fichier de configuration n’est pas disponible lors de la connexion
Cet article explique comment résoudre les problèmes qui se produisent lorsque vous ne pouvez pas vous connecter à un cluster Azure Kubernetes Service (AKS) en raison d’un fichier de configuration manquant ou non valide.
Conditions préalables
- Azure CLI.
- Outil en ligne de commande du cluster Kubernetes (kubectl). Vous pouvez également installer kubectl en exécutant la commande az aks install-cli dans Azure CLI.
Symptômes
Lors d’une tentative de connexion de cluster, un message d’erreur semblable au texte suivant s’affiche :
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)
Causes
L’outil kubectl et d’autres outils de connexion Kubernetes utilisent un fichier de configuration local nommé config. Le fichier de configuration contient les informations d’identification et les détails d’authentification pour se connecter au cluster. Par défaut :
La commande az aks get-credentials dans Azure CLI, qui est utilisée pour obtenir les informations d’identification d’accès pour un cluster Kubernetes managé, modifie le fichier ~/.kube/config .
La commande kubectl utilise le fichier kubeconfig (configuration kubectl) dans le répertoire $HOME/.kube .
Par conséquent, ce qui se passe pendant une tentative de session Kubernetes dépend de l’utilisateur qui exécute la commande kubectl. Si vous vous êtes connecté en tant qu’utilisateur A et que vous avez exécuté les deux commandes, voici ce qui se passe :
La
az aks get-credentials
commande tente d’ajouter les nouveaux paramètres kubeconfig dans le fichier C :\Users\A\.kube\config .La commande kubectl tente d’effectuer une recherche dans le fichier C :\Users\A\.kube\config .
Toutefois, pour kubectl, si le pointeur vers le fichier kubeconfig a changé, le fichier utilisé pour accéder au cluster est censé se trouver à un autre emplacement.
Remarque
Un fichier kubeconfig est une référence à un fichier qui contient des paramètres de configuration pour accéder aux clusters Kubernetes. Il ne fait pas nécessairement référence à un fichier nommé kubeconfig.
L’erreur se produit si l’un des scénarios suivants se produit :
Cause 1 : Le fichier de configuration n’existe pas
Le fichier de configuration n’existe pas sur votre ordinateur.
Solution : Enregistrer les informations d’identification
Chargez le fichier de configuration en exécutant la az aks get-credentials
commande dans Azure CLI, qui enregistre les informations d’identification. Si vous ne souhaitez pas utiliser l’emplacement par défaut, spécifiez le --file <config-file-location>
paramètre avec l’emplacement de configuration (par exemple, ~/Dir1/Dir2/config ou C :\Dir1\Dir2\config).
az aks get-credentials --resource-group <cluster-resource-group> \
--name <cluster-name> \
[--file <config-file-location>]
Cause 2 : Le fichier de configuration se trouve dans le répertoire incorrect
Le fichier de configuration se trouve sur votre ordinateur, mais il se trouve dans un répertoire différent de celui attendu par la az aks get-credentials
commande et/ou l’outil kubectl.
Solution : Déplacer le fichier de configuration , enregistrer à nouveau les informations d’identification ou modifier la variable d’environnement KUBECONFIG
Effectuez une ou plusieurs des actions suivantes :
Déplacez le fichier de configuration vers le répertoire dans lequel vous souhaitez qu’il se trouve.
Exécutez la commande
az aks get-credentials
. Spécifiez l’emplacement souhaité s’il ne s’agit pas de l’emplacement par défaut.az aks get-credentials --resource-group <cluster-resource-group> \ --name <cluster-name> \ [--file <config-file-location>]
Utilisez l’une des options suivantes pour modifier l’emplacement où kubectl recherche les paramètres de configuration :
Modifiez la
KUBECONFIG
variable d’environnement pour qu’elle pointe vers l’emplacement actuel du fichier de configuration . Pour plus d’informations, consultez Définir la variable d’environnement KUBECONFIG.Exécutez la commande kubectl config avec le
--kubeconfig=<config-file-location>
paramètre .
Cause 3 : Le fichier de configuration a expiré ou est endommagé
Le fichier de configuration se trouve sur votre ordinateur. Il se trouve également dans le répertoire attendu pour la az aks get-credentials
commande et l’outil kubectl. Mais le fichier a expiré ou est endommagé.
Solution : Rétablir les informations d’identification
Rétablissez les informations d’identification, car les informations d’identification existantes peuvent être expirées ou endommagées. Dans ce cas, vous pouvez exécuter la az aks get-credentials
commande avec le --overwrite-existing
paramètre .
az aks get-credentials --resource-group <cluster-resource-group> \
--name <cluster-name> \
--overwrite-existing \
[--file <config-file-location>]
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.