Points clés
- ✓kubectl get, describe et apply sont les trois commandes les plus utilisées
- ✓kubectl logs -f permet de suivre les logs en temps réel
- ✓kubectl exec -it ouvre un shell interactif dans un pod
TL;DR : Référence complète des commandes kubectl pour l'administration cluster. Tables de syntaxe, exemples prêts à l'emploi, pièges courants. Gardez cette page en favoris.
Les compétences en commandes kubectl administration cluster sont au cœur de la formation LFS458 Administration Kubernetes.
Tableau de référence rapide
| Action | Commande | Options courantes |
|---|---|---|
| Lister les ressources | kubectl get | -A, -o wide, -o yaml |
| Détails d'une ressource | kubectl describe | -n |
| Créer depuis fichier | kubectl apply -f | -k (kustomize) |
| Supprimer | kubectl delete | --force, --grace-period=0 |
| Éditer en direct | kubectl edit | KUBE_EDITOR=nano |
| Logs | kubectl logs | -f, --previous, -c |
| Shell interactif | kubectl exec -it | -c |
Selon le rapport Spectro Cloud 2025, 80% des organisations exécutent Kubernetes en production avec une moyenne de 20+ clusters à administrer.
À retenir : Mémorisez les alias :alias k=kubectletalias kgp='kubectl get pods'accélèrent le travail quotidien.
Commandes pods et workloads
Gestion des pods
# Lister tous les pods (tous namespaces)
kubectl get pods -A -o wide
# Pods avec labels spécifiques
kubectl get pods -l app=nginx,environment=production
# Trier par date de création
kubectl get pods --sort-by='.metadata.creationTimestamp'
# Format JSON pour scripting
kubectl get pods -o jsonpath='{.items[*].metadata.name}'
Deployments et ReplicaSets
# État des deployments
kubectl get deployments -o wide
kubectl rollout status deployment/nginx
# Historique des révisions
kubectl rollout history deployment/nginx
# Scaling manuel
kubectl scale deployment/nginx --replicas=5
# Autoscaling HPA
kubectl autoscale deployment/nginx --min=2 --max=10 --cpu-percent=80
Pour maîtriser ces opérations, la formation LFS458 Administration Kubernetes propose 4 jours de pratique intensive préparant au CKA (Linux Foundation Training).
Consultez le guide complet sur le Développement applications Kubernetes pour la perspective développeur.
Gestion des nodes et du cluster
Inspection des nodes
# État des nodes
kubectl get nodes -o wide
# Détails complets d'un node
kubectl describe node <node-name>
# Ressources disponibles par node
kubectl top nodes
# Taints configurés
kubectl describe node <name> | grep Taints
Opérations de maintenance
# Marquer un node non-schedulable (cordon)
kubectl cordon <node-name>
# Évacuer les pods (drain)
kubectl drain <node-name> --ignore-daemonsets --delete-emptydir-data
# Réactiver le scheduling
kubectl uncordon <node-name>
# Ajouter un taint
kubectl taint nodes <name> key=value:NoSchedule
À retenir : Toujours drain avant maintenance pour éviter les interruptions de service. Consultez Résoudre les 10 problèmes les plus courants sur un cluster Kubernetes.
Les équipes IT passent en moyenne 34 jours de travail par an à résoudre des problèmes Kubernetes ().
Namespaces et contextes
Gestion des namespaces
# Lister les namespaces
kubectl get namespaces
# Créer un namespace
kubectl create namespace staging
# Définir le namespace par défaut
kubectl config set-context --current --namespace=production
# Ressources d'un namespace spécifique
kubectl get all -n kube-system
Contextes multi-clusters
# Voir le contexte actuel
kubectl config current-context
# Lister tous les contextes
kubectl config get-contexts
# Changer de contexte
kubectl config use-context production-cluster
# Voir la config complète
kubectl config view --minify
La gestion multi-contextes est essentielle pour l'Administration cluster Kubernetes en entreprise.
Debugging et diagnostic
Logs et events
# Logs en temps réel
kubectl logs <pod> -f --tail=100
# Logs du conteneur précédent (après crash)
kubectl logs <pod> --previous
# Logs d'un conteneur spécifique (multi-container)
kubectl logs <pod> -c <container>
# Events du cluster
kubectl get events --sort-by='.lastTimestamp' | tail -30
# Events d'un namespace
kubectl get events -n production --field-selector type=Warning
Debugging avancé
# Shell dans un pod
kubectl exec -it <pod> -- /bin/sh
# Pod de debug éphémère
kubectl debug <pod> -it --image=busybox
# Debug d'un node
kubectl debug node/<name> -it --image=ubuntu
# Vérifier la connectivité réseau
kubectl run test-curl --rm -it --image=curlimages/curl -- curl -v <service>
À retenir : --previous sauve des heures lors du diagnostic de CrashLoopBackOff. Consultez l'administrateur système Kubernetes pour les fondamentaux.
ConfigMaps et Secrets
ConfigMaps
# Créer depuis fichier
kubectl create configmap app-config --from-file=config.properties
# Créer depuis littéral
kubectl create configmap app-config --from-literal=DB_HOST=mysql.default.svc
# Voir le contenu
kubectl get configmap app-config -o yaml
# Éditer en place
kubectl edit configmap app-config
Secrets
# Créer un secret générique
kubectl create secret generic db-creds \
--from-literal=username=admin \
--from-literal=password=S3cureP@ss
# Secret TLS
kubectl create secret tls my-tls-secret \
--cert=tls.crt --key=tls.key
# Décoder un secret (base64)
kubectl get secret db-creds -o jsonpath='{.data.password}' | base64 -d
# Lister les secrets
kubectl get secrets -o wide
Pour la sécurisation des secrets, référez-vous à la formation LFS460 Sécurité Kubernetes.
Services et réseau
Services
# Exposer un deployment
kubectl expose deployment nginx --port=80 --type=ClusterIP
# Service NodePort
kubectl expose deployment nginx --port=80 --type=NodePort
# Lister les endpoints
kubectl get endpoints
# Voir les services avec IPs
kubectl get svc -o wide
Ingress
# Lister les Ingress
kubectl get ingress -A
# Détails d'un Ingress
kubectl describe ingress <name>
# Classes d'Ingress disponibles
kubectl get ingressclass
Comparez les outils dans kubeadm vs kops vs k3s pour le déploiement initial.
Rollbacks et mises à jour
Rollout management
# Mettre à jour l'image
kubectl set image deployment/nginx nginx=nginx:1.25
# Vérifier le status du rollout
kubectl rollout status deployment/nginx
# Pause d'un rollout
kubectl rollout pause deployment/nginx
# Reprendre
kubectl rollout resume deployment/nginx
# Rollback à la version précédente
kubectl rollout undo deployment/nginx
# Rollback à une révision spécifique
kubectl rollout undo deployment/nginx --to-revision=2
82% des utilisateurs de conteneurs exécutent Kubernetes en production (CNCF Annual Survey 2025), ce qui rend ces commandes essentielles au quotidien.
Pièges courants et solutions
| Problème | Cause | Solution |
|---|---|---|
Error: context deadline exceeded | API server surchargé | Vérifier kubectl top nodes |
Unable to connect to the server | Config incorrecte | kubectl config view --minify |
pod has unbound PersistentVolumeClaims | PV manquant | kubectl get pv,pvc -A |
CrashLoopBackOff | Erreur application | kubectl logs |
ImagePullBackOff | Image inaccessible | Vérifier secret registry |
OOMKilled | Mémoire insuffisante | Augmenter resources.limits.memory |
# Diagnostic rapide CrashLoopBackOff
kubectl describe pod <name> | grep -A10 "State:"
kubectl logs <name> --previous | tail -50
kubectl get events --field-selector involvedObject.name=<pod>
Consultez le Formation Kubernetes : Guide Complet pour une vision d'ensemble.
Commandes utiles pour les certifications
Pour la préparation CKA, les parcours des profils formation Kubernetes ingénieur infrastructure et formation Kubernetes administrateur système détaillent les compétences requises.
# Créer rapidement un pod (exam)
kubectl run nginx --image=nginx --dry-run=client -o yaml > pod.yaml
# Générer un YAML deployment
kubectl create deployment nginx --image=nginx --dry-run=client -o yaml
# Créer un service rapidement
kubectl expose pod nginx --port=80 --name=nginx-svc --dry-run=client -o yaml
À retenir : --dry-run=client -o yaml génère des manifests sans créer la ressource, indispensable pour l'examen CKA.
Les responsables formation trouveront des informations sur les programmes et dates et les stratégies talents.
Passez à l'action
Ce kubectl cheatsheet Kubernetes couvre les commandes essentielles pour administrer vos clusters. Pour une formation structurée avec certification :
- LFS458 Administration Kubernetes : 4 jours intensifs préparant au CKA
- Kubernetes, les fondamentaux : découverte en 1 journée pour débutants
- LFD459 Kubernetes pour développeurs : 3 jours orientés CKAD
Contactez nos conseillers pour construire votre parcours formation Kubernetes personnalisé.