Points clés
- ✓50+ commandes kubectl essentielles organisées par catégorie d'usage
- ✓Les équipes IT passent en moyenne 34 jours de travail par an à résoudre des problèmes Kubernetes - maîtriser kubectl réduit ce temps
TL;DR : Ce cheatsheet commandes kubectl Kubernetes regroupe les 50+ commandes indispensables pour tout administrateur système Kubernetes, développeur Backend Kubernetes ou ingénieur logiciel Kubernetes. Avec 82% des utilisateurs de conteneurs qui exécutent Kubernetes en production (CNCF 2025), maîtriser kubectl est devenu essentiel.
Cette compétence est au cœur de la formation LFS458 Administration Kubernetes.
Référence rapide : les 15 commandes les plus utilisées
| Commande | Action | Exemple |
|---|---|---|
kubectl get pods | Lister les pods | kubectl get pods -A -o wide |
kubectl describe | Détails d'une ressource | kubectl describe pod nginx-abc123 |
kubectl logs | Afficher les logs | kubectl logs -f pod/nginx --tail=100 |
kubectl apply -f | Appliquer un manifest | kubectl apply -f deployment.yaml |
kubectl delete | Supprimer une ressource | kubectl delete pod nginx-abc123 |
kubectl exec | Exécuter dans un pod | kubectl exec -it nginx -- /bin/sh |
kubectl create | Créer une ressource | kubectl create ns production |
kubectl scale | Modifier les replicas | kubectl scale deploy nginx --replicas=5 |
kubectl rollout | Gérer les déploiements | kubectl rollout status deploy/nginx |
kubectl port-forward | Tunnel vers un pod | kubectl port-forward svc/nginx 8080:80 |
kubectl cp | Copier des fichiers | kubectl cp pod:/path ./local |
kubectl top | Métriques CPU/RAM | kubectl top pods --sort-by=memory |
kubectl config | Gérer les contextes | kubectl config use-context prod |
kubectl edit | Modifier en live | kubectl edit deploy nginx |
kubectl patch | Modification partielle | kubectl patch deploy nginx -p '...' |
À retenir : Les équipes IT passent en moyenne 34 jours de travail par an à résoudre des problèmes Kubernetes (Cloud Native Now). Maîtriser ce cheatsheet réduit drastiquement ce temps.
Comment naviguer entre clusters et namespaces ?
# Lister les contextes disponibles
kubectl config get-contexts
# Changer de contexte
kubectl config use-context production-cluster
# Définir le namespace par défaut
kubectl config set-context --current --namespace=production
# Voir le contexte actuel
kubectl config current-context
Raccourcis de ressources
| Raccourci | Ressource complète |
|---|---|
po | pods |
deploy | deployments |
svc | services |
ns | namespaces |
cm | configmaps |
pv | persistentvolumes |
pvc | persistentvolumeclaims |
ing | ingress |
no | nodes |
rs | replicasets |
Consultez le Mémo Kubernetes : objets, ressources API et raccourcis pour la liste complète.
Quelles commandes pour gérer les Pods ?
# Lister tous les pods avec détails
kubectl get pods -A -o wide
# Pods d'un namespace spécifique
kubectl get pods -n production
# Filtrer par label
kubectl get pods -l app=nginx,env=prod
# Trier par date de création
kubectl get pods --sort-by=.metadata.creationTimestamp
# Format JSON/YAML
kubectl get pod nginx-abc123 -o yaml
kubectl get pods -o json | jq '.items[].metadata.name'
# Supprimer un pod (force)
kubectl delete pod nginx-abc123 --grace-period=0 --force
Exécution dans un pod
# Shell interactif
kubectl exec -it nginx-abc123 -- /bin/bash
# Commande unique
kubectl exec nginx-abc123 -- cat /etc/nginx/nginx.conf
# Dans un conteneur spécifique (multi-container pod)
kubectl exec -it nginx-abc123 -c sidecar -- /bin/sh
Comment gérer les Deployments et ReplicaSets ?
# Créer un deployment
kubectl create deployment nginx --image=nginx:1.25 --replicas=3
# Appliquer depuis un fichier
kubectl apply -f deployment.yaml
# Mettre à jour l'image
kubectl set image deploy/nginx nginx=nginx:1.26
# Historique des révisions
kubectl rollout history deploy/nginx
# Rollback
kubectl rollout undo deploy/nginx
kubectl rollout undo deploy/nginx --to-revision=2
# Pause/Resume
kubectl rollout pause deploy/nginx
kubectl rollout resume deploy/nginx
# Scaler
kubectl scale deploy/nginx --replicas=10
kubectl autoscale deploy/nginx --min=3 --max=10 --cpu-percent=80
À retenir : 71 % des entreprises Fortune 100 utilisent Kubernetes en production (CNCF Project Journey Report). Le scaling automatique via kubectl autoscale est la norme.
Pour approfondir les stratégies de déploiement, consultez les Tutoriels et guides pratiques Kubernetes.
Quelles commandes pour les Services et le réseau ?
# Exposer un deployment
kubectl expose deploy nginx --port=80 --type=ClusterIP
kubectl expose deploy nginx --port=80 --type=LoadBalancer
# Lister les services
kubectl get svc -A
# Détails d'un service
kubectl describe svc nginx
# Port-forward pour debug local
kubectl port-forward svc/nginx 8080:80
kubectl port-forward pod/nginx-abc123 8080:80
# Vérifier les endpoints
kubectl get endpoints nginx
NetworkPolicies
# Lister les policies
kubectl get networkpolicies -A
# Appliquer une policy
kubectl apply -f network-policy.yaml
Référez-vous à la Référence rapide NetworkPolicies pour les exemples YAML.
Comment manipuler ConfigMaps et Secrets ?
# Créer un ConfigMap
kubectl create configmap app-config --from-literal=ENV=production
kubectl create configmap app-config --from-file=config.properties
# Créer un Secret
kubectl create secret generic db-creds \
--from-literal=username=admin \
--from-literal=password=secret123
# Décoder un secret
kubectl get secret db-creds -o jsonpath='{.data.password}' | base64 -d
# Lister
kubectl get configmaps,secrets -n production
À retenir : Ne jamais commiter de Secrets en clair. Utilisez des outils comme Sealed Secrets ou External Secrets Operator.
Ces pratiques sont enseignées dans la formation LFD459 Kubernetes pour développeurs.
Quelles commandes pour le debugging Kubernetes ?
Le debugging est la compétence clé du développeur Backend Kubernetes et de l'ingénieur logiciel Kubernetes.
# Logs d'un pod
kubectl logs nginx-abc123
kubectl logs nginx-abc123 --previous # Conteneur précédent (crash)
kubectl logs nginx-abc123 -f --tail=100 # Suivre en temps réel
kubectl logs -l app=nginx --all-containers # Tous les pods d'un label
# Events du cluster
kubectl get events --sort-by='.lastTimestamp' | tail -30
kubectl get events -n production --field-selector type=Warning
# Décrire une ressource (diagnostic complet)
kubectl describe pod nginx-abc123 | grep -A10 "Events:"
# Métriques (nécessite metrics-server)
kubectl top nodes
kubectl top pods --sort-by=memory
kubectl top pods --containers
# Debug avec un pod éphémère (K8s 1.25+)
kubectl debug -it nginx-abc123 --image=busybox --target=nginx
Diagnostic réseau
# Vérifier la résolution DNS
kubectl run debug --rm -it --image=busybox -- nslookup kubernetes
# Tester la connectivité
kubectl run debug --rm -it --image=curlimages/curl -- curl -v http://nginx:80
# Vérifier les endpoints
kubectl get endpoints nginx
Pour des techniques avancées, consultez Résoudre les 10 erreurs de déploiement Kubernetes les plus fréquentes.
Quelles sont les erreurs fréquentes et leurs solutions ?
| Erreur | Diagnostic | Solution |
|---|---|---|
CrashLoopBackOff | kubectl logs | Vérifier l'image, les variables d'env, les probes |
ImagePullBackOff | kubectl describe pod | Corriger le nom d'image ou les credentials registry |
Pending | kubectl describe pod | Vérifier les ressources, PVC, node selectors |
OOMKilled | kubectl describe pod | Augmenter resources.limits.memory |
CreateContainerConfigError | kubectl describe pod | ConfigMap/Secret manquant ou incorrect |
# Diagnostic rapide CrashLoopBackOff
kubectl describe pod nginx-abc123 | grep -A5 "State:"
kubectl logs nginx-abc123 --previous
# Vérifier les ressources disponibles
kubectl describe nodes | grep -A5 "Allocated resources"
# Pod bloqué en Terminating
kubectl delete pod nginx-abc123 --force --grace-period=0
Comme le souligne TealHQ : "Don't let your knowledge remain theoretical, set up a real Kubernetes environment to solidify your skills."
Testez ces commandes avec Minikube vs Kind vs K3s.
Commandes avancées pour l'administration
# Drain un node (maintenance)
kubectl drain node-1 --ignore-daemonsets --delete-emptydir-data
# Cordon/Uncordon
kubectl cordon node-1
kubectl uncordon node-1
# Taints et tolerations
kubectl taint nodes node-1 key=value:NoSchedule
# Labels
kubectl label nodes node-1 disktype=ssd
kubectl label pods nginx-abc123 env=prod --overwrite
# Annotations
kubectl annotate pod nginx-abc123 description="Production nginx"
# Dry-run pour valider
kubectl apply -f deployment.yaml --dry-run=client
kubectl apply -f deployment.yaml --dry-run=server
Pour l'administration avancée de clusters, explorez les Comparatifs et alternatives Kubernetes.
Passez à l'action : formations certifiantes
Ce cheatsheet commandes kubectl Kubernetes couvre les bases. Pour développer une expertise reconnue :
Formations SFEIR Institute :
- LFS458 Administration Kubernetes : 4 jours pour préparer le CKA
- LFD459 Kubernetes pour les développeurs : 3 jours pour préparer le CKAD
- LFS460 Sécurité Kubernetes : 4 jours pour préparer le CKS
- Kubernetes, les fondamentaux : 1 jour pour découvrir Kubernetes
À retenir : La certification CKA teste des compétences pratiques. Selon TechiesCamp : "The CKA exam tested practical, useful skills. It wasn't just theory, it matched real-world situations you'd actually run into."
Découvrez le Guide Complet Formation Kubernetes pour construire votre parcours.