Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Get a kubeconfig and connect to a cluster with kubectl

Dernière mise à jour :Aug 11, 2026

Utilisez un kubeconfig temporaire ou de longue durée pour authentifier kubectl auprès du serveur API de votre cluster.

Vous pouvez également gérer les clusters et les applications via la console ACK.

Important

Dans le cadre du modèle de responsabilité partagée, protégez vos identifiants kubeconfig en les renouvelant régulièrement et en appliquant le principe du moindre privilège.

Choisir un type de kubeconfig

Choisissez un type de kubeconfig en fonction de la durée d'accès requise et de la manière dont votre client se connecte au cluster.

Selon la période de validité

Type

Validité

Cas d'usage idéal

Sécurité

Temporaire

30 minutes à 3 jours (configurable)

Opérations et maintenance quotidiennes, dépannage, pipelines CI/CD

Risque réduit : expiration automatique après la période configurée

De longue durée

3 ans (par défaut)

Systèmes automatisés, services de surveillance de longue durée

Nécessite un renouvellement manuel avant l'expiration

Selon la méthode d'accès

Type

Quand l'utiliser

Détails

Accès privé

Votre machine cliente se trouve dans le même Virtual Private Cloud (VPC) que le cluster

Connexion via le réseau interne, offrant une latence plus faible et une sécurité renforcée

Accès public

Connexion depuis n'importe quelle machine disposant d'un accès Internet

Expose le serveur API via une Elastic IP Address (EIP) ; adapté au développement local et aux opérations de maintenance à distance

Une EIP associée entraîne des frais de paiement à l'utilisation .

Pour les clusters dédiés ACK avec accès public, vous pouvez également vous connecter au nœud maître via SSH pour récupérer le kubeconfig.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • kubectl installé, avec une version mineure compatible avec celle de Kubernetes sur le cluster (par exemple, kubectl 1,27–1,29 pour Kubernetes 1.28).

  • Un utilisateur RAM disposant des autorisations accordées aux niveaux ACK et cluster.

Obtenir un fichier kubeconfig et se connecter au cluster

  1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom de votre cluster, ou sur Details dans la colonne Actions.

  3. Sur la page Cluster Information, sélectionnez l'onglet Connection Information. Choisissez un kubeconfig temporaire ou de longue durée. Pour un kubeconfig temporaire, définissez la période de validité.

  4. Sélectionnez l'onglet Internal Access ou Public Access, puis cliquez sur Copy.

  5. Collez le contenu dans le fichier $HOME/.kube/config de votre client, puis enregistrez-le.

    Remarque : Si le répertoire ou le fichier n'existe pas, créez-le d'abord.
  6. Vérifiez la connexion en listant tous les namespaces :

    kubectl get namespaces

    Résultat attendu :

    NAME              STATUS   AGE
    default           Active   4h39m
    kube-node-lease   Active   4h39m
    kube-public       Active   4h39m
    kube-system       Active   4h39m

Gérer les identifiants kubeconfig

Renouveler les identifiants avant leur expiration

Un kubeconfig de longue durée est valide pendant 3 ans. Obtenez-en un nouveau depuis la console ACK ou via l'API DescribeClusterUserKubeconfig dans les 180 jours précédant l'expiration afin d'éviter toute interruption de service.

Le nouveau kubeconfig est valide pendant 3 ans. L'ancien reste valide jusqu'à sa date d'expiration initiale.

Révoquer des identifiants compromis

Si vous suspectez qu'un kubeconfig a été compromis, révoquez immédiatement les identifiants kubeconfig du cluster. Cette action invalide toutes les connexions existantes et génère un nouveau kubeconfig.

Nettoyer les autorisations des utilisateurs partis

Lorsqu'un utilisateur n'a plus besoin d'accès (par exemple, après la fin d'un projet ou le départ d'un employé), révoquez ses autorisations kubeconfig en masse en supprimant les fichiers kubeconfig ou en utilisant ack-ram-tool. Le système ne génère pas de nouveau kubeconfig après la révocation.

Pour restaurer des autorisations révoquées par erreur, utilisez la corbeille kubeconfig .

FAQ

Par défaut, kubectl utilise $HOME/.kube/config . Pour utiliser un autre fichier, définissez la variable d'environnement KUBECONFIG ou passez l'option --kubeconfig . Dans les commandes ci-dessous, remplacez kubeconfig par le chemin d'accès à votre fichier kubeconfig.

Comment trouver l'identité associée à un certificat kubeconfig ?

Extrayez le sujet du certificat :

# Extract the client certificate, decode it from base64,
# then use OpenSSL to display the Subject field
grep client-certificate-data kubeconfig | awk '{print $2}' | base64 -d | openssl x509 -noout -text | grep Subject:

Résultat attendu :

        Subject: O=system:users, OU=, CN=1***-1673419473
  • O — Le groupe d'utilisateurs Kubernetes. Dans cet exemple, system:users.

  • CN — L'identifiant de l'utilisateur. Dans cet exemple, 1***-1673419473, où 1*** correspond à l'ID utilisateur Alibaba Cloud.

Comment vérifier la date d'expiration d'un certificat kubeconfig ?

Vérifiez l'expiration du certificat :

# Extract the client certificate, decode it from base64,
# then use OpenSSL to print the expiration date
grep client-certificate-data kubeconfig | awk '{print $2}' | base64 -d | openssl x509 -noout -enddate

Résultat attendu :

notAfter=Jan 10 06:44:34 2026 GMT

Dans cet exemple, le certificat expire le 10 janvier 2026.

Obtenez un nouveau kubeconfig depuis la console ou l'API dans les 180 jours précédant l'expiration, ou à tout moment après celle-ci.

Comment extraire le certificat client, la clé privée et l'URL du serveur API d'un kubeconfig ?

Extrayez le certificat, la clé et l'URL du serveur API :

# Extract and decode the client certificate to a PEM file
grep client-certificate-data ./kubeconfig | awk -F ' ' '{print $2}' | base64 -d > ./client-cert.pem

# Extract and decode the client private key to a PEM file
grep client-key-data ./kubeconfig | awk -F ' ' '{print $2}' | base64 -d > ./client-key.pem

# Extract the API server URL into a variable
APISERVER=$(grep server ./kubeconfig | awk -F ' ' '{print $2}')

Comment résoudre l'erreur « certificate is valid for » ?

Cette erreur survient lorsque vous associez une nouvelle adresse IP à l'instance Server Load Balancer (SLB) du serveur API. Les commandes kubectl ciblant la nouvelle IP échouent avec 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.

La solution dépend du type de votre cluster :

  • Clusters gérés ACK : Ajoutez la nouvelle adresse IP au Subject Alternative Name (SAN) du certificat du serveur API.

  • Clusters dédiés ACK : Configurez kubectl pour ignorer la vérification TLS à l'aide de l'une des méthodes suivantes :

    Important

    Ignorer la vérification TLS présente un risque de sécurité. N'utilisez pas cette méthode en production. Migrez vers des clusters ACK Pro, puis ajoutez la nouvelle adresse IP au SAN du certificat du serveur API.

    • Méthode 1 : Passez l'option --insecure-skip-tls-verify :

      kubectl -s https://<IP>:6443 --insecure-skip-tls-verify get ns
    • Méthode 2 : Modifiez le fichier kubeconfig. Ajoutez insecure-skip-tls-verify: true et supprimez le champ certificate-authority-data :

      apiVersion: v1
      clusters:
      - cluster:
          server: https://<IP>:6443
          insecure-skip-tls-verify: true
        name: kubernetes
      contexts:
      ...

Puis-je obtenir la clé du certificat racine d'un cluster géré ACK pour générer moi-même un kubeconfig ?

Non. Les clusters gérés ACK n'exposent pas la clé du certificat racine. Obtenez le kubeconfig depuis la console ou via l'API DescribeClusterUserKubeconfig.

Références