Kubectl
Le guide de survie

kubectl
est l’outil en ligne de commande officiel pour interagir avec un cluster Kubernetes. Il permet d’inspecter, de déployer, de gérer et de déboguer les ressources dans un cluster : pods, services, déploiements, configurations, etc.
Grâce à kubectl
, vous pouvez :
- Observer l’état du cluster (nœuds, pods, services, logs…)
- Appliquer des fichiers de configuration YAML pour déployer ou mettre à jour des ressources
- Effectuer des actions de maintenance (rollback, scaling, rolling updates…)
- Exécuter des commandes dans des conteneurs distants
- Gérer les contextes pour basculer entre différents clusters
C’est un outil indispensable pour tout développeur, administrateur système ou ingénieur DevOps travaillant avec Kubernetes.
Cheat Sheet kubectl
Commande | Description |
---|---|
kubectl get pods |
Liste tous les pods dans le namespace courant |
kubectl get pods -A |
Liste tous les pods dans tous les namespaces |
kubectl get svc |
Affiche les services |
kubectl get nodes |
Liste tous les nœuds du cluster |
kubectl describe pod <nom> |
Détaille un pod spécifique |
kubectl logs <nom-du-pod> |
Affiche les logs d’un pod |
kubectl logs -f <nom-du-pod> |
Suivi en temps réel des logs d’un pod |
kubectl exec -it <nom-du-pod> -- bash |
Exécute un shell dans le pod (si bash dispo) |
kubectl apply -f <fichier>.yaml |
Applique une configuration (création ou mise à jour) |
kubectl delete -f <fichier>.yaml |
Supprime les ressources définies dans le fichier |
kubectl delete pod <nom> |
Supprime un pod |
kubectl create deployment <nom> --image=... |
Crée un déploiement |
kubectl scale deployment <nom> --replicas=N |
Met à l’échelle un déploiement |
kubectl expose deployment <nom> --port=X |
Crée un service exposant un déploiement |
kubectl edit deployment <nom> |
Modifie un déploiement via un éditeur |
kubectl rollout status deployment/<nom> |
Vérifie le statut du déploiement |
kubectl rollout undo deployment/<nom> |
Annule le dernier déploiement |
kubectl config get-contexts |
Liste les contextes kubeconfig disponibles |
kubectl config use-context <nom> |
Change de contexte |
kubectl config current-context |
Affiche le contexte actif |
kubectl top pod |
Affiche l’usage des ressources par pod (si metrics-server dispo) |
kubectl cp <pod>:<chemin> <local> |
Copie un fichier du pod vers local |
kubectl port-forward pod/<nom> 8080:80 |
Redirige un port local vers un pod |
kubectl get all |
Affiche toutes les ressources courantes (pods, svc, deploy, etc.) |
Astuce : ajoute -n <namespace>
pour cibler un namespace spécifique.
Exemples d’utilisation de kubectl
Lancer un conteneur de test temporaire
kubectl run test-pod --image=busybox --restart=Never -- sleep 3600
Appliquer une configuration YAML
kubectl apply -f deployment.yaml
Mettre à l’échelle un déploiement
kubectl scale deployment my-app --replicas=5
Redémarrer un déploiement
kubectl rollout restart deployment my-app
Exécuter une commande dans un pod
kubectl exec -it my-pod -- /bin/sh
Récupérer les logs d’un conteneur dans un pod
kubectl logs my-pod -c my-container
Filtrer les ressources par label
kubectl get pods -l app=my-app
Voir les événements d’un namespace
kubectl get events -n my-namespace --sort-by='.lastTimestamp'
Forcer la suppression d’un pod bloqué
kubectl delete pod my-pod --grace-period=0 --force