kubectl
À quoi il sert
kubectl est le client officiel de l'API de Kubernetes. Il lit son fichier kubeconfig pour savoir à quel cluster parler et sous quelle identité, puis envoie des requêtes HTTP au serveur d'API : lister et décrire des objets (get, describe), appliquer des manifestes (apply, diff), lire les journaux et entrer dans un conteneur (logs, exec), suivre un déploiement (rollout). Il embarque Kustomize (kubectl kustomize, apply -k) et sait générer des manifestes sans cluster (create ... --dry-run=client -o yaml).
Quand le choisir
Toujours : c'est l'outil de base pour explorer et diagnostiquer un cluster, et la référence de toute documentation. Pour déployer en continu, on le complète ou on le remplace par un outil déclaratif qui applique des manifestes versionnés (Argo CD, Flux, Helm), et l'on réserve kubectl à la lecture et aux interventions.
Points d'attention
- Le contexte courant décide de tout : cluster, identité et namespace par défaut. Vérifiez
kubectl config current-contextavant une commande destructrice, et préférez un kubeconfig par cluster (KUBECONFIG). - Compatibilité des versions :
kubectldoit être à une version mineure près du cluster (unkubectl1.36 pilote des clusters 1.35 à 1.37). - Le dépôt APT officiel
pkgs.k8s.ioa un dépôt par version mineure : changer de version mineure demande de changer de dépôt. kubectl config viewmasque les secrets ;--rawles affiche.--dry-run=clientne fait que générer l'objet ;--dry-run=serverle fait valider entièrement par le cluster sans l'enregistrer.kubectl diffmontre ce qu'unapplychangerait.- L'apply côté serveur (
--server-side) suit la propriété des champs et signale les conflits au lieu d'écraser. - Les plugins (gérés par krew) s'exécutent avec vos identifiants : installez-les depuis des sources fiables.
Par où commencer
La leçon kubectl et l'API, puis la kubectl Quick Reference de la documentation officielle.