Partager via


Le fichier config 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 config manquant ou non valide.

Prerequisites

Symptômes

Lors d’une tentative de connexion de cluster, un message d’erreur similaire 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 config contient des informations d’identification d’authentification et des détails pour se connecter au cluster. Par défaut :

  • La commande az aks get-credentials dans Azure CLI, utilisée pour obtenir des 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 .

Ainsi, 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 de rechercher le fichier C :\Users\A\.kube\config .

Mais pour kubectl, si le pointeur vers le fichier kubeconfig a changé, le fichier utilisé pour accéder au cluster est censé se trouver dans un autre emplacement.

Note

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 la 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 où la az aks get-credentials commande et/ou l’outil kubectl s’attend à ce qu’elle soit.

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 n’est pas 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 pointer 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 de la az aks get-credentials commande et de l’outil kubectl. Mais le fichier a expiré ou 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.