Aide-mémoire6 min de lecture

Aide-mémoire kubectl : toutes les commandes essentielles Kubernetes

SFEIR Institute

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

CommandeActionExemple
kubectl get podsLister les podskubectl get pods -A -o wide
kubectl describeDétails d'une ressourcekubectl describe pod nginx-abc123
kubectl logsAfficher les logskubectl logs -f pod/nginx --tail=100
kubectl apply -fAppliquer un manifestkubectl apply -f deployment.yaml
kubectl deleteSupprimer une ressourcekubectl delete pod nginx-abc123
kubectl execExécuter dans un podkubectl exec -it nginx -- /bin/sh
kubectl createCréer une ressourcekubectl create ns production
kubectl scaleModifier les replicaskubectl scale deploy nginx --replicas=5
kubectl rolloutGérer les déploiementskubectl rollout status deploy/nginx
kubectl port-forwardTunnel vers un podkubectl port-forward svc/nginx 8080:80
kubectl cpCopier des fichierskubectl cp pod:/path ./local
kubectl topMétriques CPU/RAMkubectl top pods --sort-by=memory
kubectl configGérer les contexteskubectl config use-context prod
kubectl editModifier en livekubectl edit deploy nginx
kubectl patchModification partiellekubectl 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

RaccourciRessource complète
popods
deploydeployments
svcservices
nsnamespaces
cmconfigmaps
pvpersistentvolumes
pvcpersistentvolumeclaims
ingingress
nonodes
rsreplicasets

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 ?

ErreurDiagnosticSolution
CrashLoopBackOffkubectl logs --previousVérifier l'image, les variables d'env, les probes
ImagePullBackOffkubectl describe pod Corriger le nom d'image ou les credentials registry
Pendingkubectl describe pod Vérifier les ressources, PVC, node selectors
OOMKilledkubectl describe pod Augmenter resources.limits.memory
CreateContainerConfigErrorkubectl 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 :

À 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.