Un fichier kubeconfig stocke les identifiants d'accès au cluster, y compris les informations d'identité de l'utilisateur actuellement connecté. Une fois que vous avez obtenu un fichier kubeconfig depuis la console, utilisez un client kubectl pour vous connecter à un cluster Alibaba Cloud Container Compute Service (ACS) et le gérer.
kubectl et kubeconfig
kubectl est l'outil de ligne de commande standard pour gérer Kubernetes. Utilisez kubectl pour vous connecter aux clusters ACS et les administrer. Un fichier kubeconfig contient des informations sur les clusters, les utilisateurs, les namespaces et les mécanismes d'authentification. kubectl utilise ce fichier pour se connecter au cluster.
Méthodes de connexion
Choisissez une méthode de connexion en fonction de l'emplacement de votre machine cliente exécutant kubectl.
Connexion via le réseau public : utilisez cette méthode lorsque votre client se trouve sur le réseau public. Le cluster doit avoir l'accès public à l'API server activé, ce qui expose ce dernier via une Elastic IP Address (EIP). Pour activer cet accès, consultez la rubrique Control public access to the API server of a cluster.
Connexion via le réseau interne : utilisez cette méthode si seul un accès interne est requis. Votre machine cliente kubectl doit se trouver dans le même Virtual Private Cloud (VPC) que le cluster.
Étape 1 : Installer kubectl
Install kubectl sur votre machine cliente, en adaptant l'installation à votre système d'exploitation et à la version du cluster.
Étape 2 : Configurer les identifiants du cluster
Les clusters ACS fournissent deux types d'identifiants sous forme de fichiers kubeconfig : l'un pour l'accès via le réseau public, l'autre pour l'accès via le réseau interne. Par défaut, kubectl recherche un fichier nommé config dans le répertoire $HOME/.kube de la machine cliente. Ce fichier conserve les identifiants d'accès au cluster à gérer ; kubectl l'utilise pour établir la connexion.
Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.
Sur la page Clusters, cliquez sur le nom du cluster cible ou sélectionnez Details dans la colonne Actions.
Dans l'onglet Cluster Information, accédez à l'onglet Connection Information. Choisissez un kubeconfig temporaire ou permanent. Pour un kubeconfig temporaire, définissez sa durée de validité.
Sélectionnez l'onglet Internal Access ou Public Access, puis cliquez sur Copy.
-
Collez le contenu obtenu dans le fichier
$HOME/.kube/configde votre client, puis enregistrez-le.Remarque : Si le répertoire ou le fichier n'existe pas, créez-les au préalable.
-
Vérifiez la connexion en listant tous les namespaces :
kubectl get namespacesRésultat attendu :
NAME STATUS AGE default Active 4h39m kube-node-lease Active 4h39m kube-public Active 4h39m kube-system Active 4h39m
FAQ
Les commandes suivantes utilisent YOUR_KUBECONFIG_PATH comme espace réservé pour le chemin absolu du fichier kubeconfig. Par défaut, kubectl utilise le fichier $HOME/.kube/config pour se connecter au cluster. Pour spécifier un autre fichier kubeconfig, définissez la variable d'environnement KUBECONFIG ou utilisez le paramètre --kubeconfig.
Question 1 : Comment obtenir les informations d'identité associées au certificat utilisé dans un fichier kubeconfig ?
Exécutez la commande suivante :
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -text |grep Subject:
Le résultat attendu ressemble à ceci :
Subject: O=system:users, OU=, CN=1***-1673419473
La liste ci-dessous décrit les paramètres présents dans la sortie :
Oindique le groupe d'utilisateurs Kubernetes auquel l'utilisateur appartient. Dans cet exemple, le nom du groupe estsystem:users.CNcorrespond à l'utilisateur associé. Ici, l'utilisateur est1***-1673419473, où1***renvoie à un ID utilisateur Alibaba Cloud rattaché au compte.
Question 2 : Comment connaître la date d'expiration du certificat utilisé dans un fichier kubeconfig ?
Exécutez la commande suivante :
grep client-certificate-data YOUR_KUBECONFIG_PATH |awk '{print $2}' |base64 -d | openssl x509 -noout -enddate
Le résultat attendu ressemble à ceci :
notAfter=Jan 10 06:44:34 2026 GMT
La valeur Jan 10 06:44:34 2026 GMT représente la date d'expiration du certificat.
Récupérez un fichier kubeconfig contenant un nouveau certificat depuis la console ou via l'OpenAPI dans les 60 jours précédant l'expiration du certificat, ou à tout moment après celle-ci.
Question 3 : Comment résoudre l'erreur certificate is valid for lors de la connexion à un cluster avec kubectl ?
Si vous associez une nouvelle adresse IP à l'instance Server Load Balancer (SLB) de l'API server du cluster, puis tentez d'accéder à cette nouvelle IP avec kubectl, la commande échoue et renvoie l'erreur Error while proxying request: x509: certificate is valid for xxx ou Unable to connect to the server: x509: certificate is valid for xxx.
Ajoutez la nouvelle adresse IP au subject alternative name (SAN) du certificat de l'API server, comme indiqué dans la rubrique Customize the SAN of the API server certificate for a cluster. L'exemple suivant illustre la configuration :
Dans la boîte de dialogue Update Custom Certificate SAN, saisissez la nouvelle adresse IP, par exemple 192.168.1.137, dans le champ Custom Certificate SAN. Séparez les différentes adresses IP ou noms de domaine par des virgules (,). Cliquez ensuite sur OK. Remarque : la modification du SAN entraîne un redémarrage bref de l'API server.