Aide-mémoire6 min de lecture

Aide-mémoire kubectl : commandes essentielles pour l'administration de clusters Kubernetes

SFEIR Institute

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

ActionCommandeOptions courantes
Lister les ressourceskubectl get -A, -o wide, -o yaml
Détails d'une ressourcekubectl describe -n
Créer depuis fichierkubectl apply -f -k (kustomize)
Supprimerkubectl delete --force, --grace-period=0
Éditer en directkubectl edit KUBE_EDITOR=nano
Logskubectl logs -f, --previous, -c
Shell interactifkubectl exec -it -- sh-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=kubectl et alias 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èmeCauseSolution
Error: context deadline exceededAPI server surchargéVérifier kubectl top nodes
Unable to connect to the serverConfig incorrectekubectl config view --minify
pod has unbound PersistentVolumeClaimsPV manquantkubectl get pv,pvc -A
CrashLoopBackOffErreur applicationkubectl logs --previous
ImagePullBackOffImage inaccessibleVérifier secret registry
OOMKilledMémoire insuffisanteAugmenter 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 :

Contactez nos conseillers pour construire votre parcours formation Kubernetes personnalisé.