Partager via


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 :

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 :

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.