Points clés
- ✓Les equipes IT passent en moyenne 34 jours ouvres par an a resoudre des problemes Kubernetes - une bonne maitrise de kubectl reduit ce temps
- ✓'5 commandes essentielles: get, describe, apply, logs, exec'
- ✓kubectl est le point d'entree unique vers l'API Kubernetes
kubectl est l'interface en ligne de commande officielle pour interagir avec un cluster Kubernetes. Connaître les commandes kubectl de base constitue la première étape pour tout professionnel souhaitant administrer ou développer sur Kubernetes. Avec 82% des utilisateurs de conteneurs en production sur Kubernetes, cette compétence devient incontournable.
TL;DR : kubectl permet de créer, inspecter, modifier et supprimer toutes les ressources Kubernetes depuis votre terminal. Ce cheatsheet couvre les commandes fondamentales :kubectl get,kubectl describe,kubectl apply,kubectl logsetkubectl exec. Apprenez la syntaxe de base et les raccourcis pour gagner en productivité immédiatement.
Cette compétence est au cœur de la formation Kubernetes, les fondamentaux.
Pourquoi maîtriser les kubectl commandes débutants ?
kubectl représente le point d'entrée unique vers l'API Kubernetes. Chaque action sur votre cluster passe par cet outil.
Trois raisons justifient l'apprentissage prioritaire de kubectl :
- Contrôle total : déployer, scaler, debugger sans interface graphique
- Automatisation : intégrer kubectl dans vos scripts CI/CD
- Certification : les examens CKA et CKAD exigent une maîtrise parfaite de kubectl
À retenir : kubectl communique directement avec le kube-apiserver. Toute commande que vous exécutez se traduit en appel API REST vers le cluster.
Pour comprendre l'architecture sous-jacente, consultez notre guide complet Formation Kubernetes.
kubectl commandes débutants : syntaxe de base
La structure de toute commande kubectl suit ce pattern :
kubectl [commande] [TYPE] [NOM] [flags]
| Élément | Description | Exemple |
|---|---|---|
| commande | Action à effectuer | get, create, delete |
| TYPE | Type de ressource | pod, deployment, service |
| NOM | Nom de la ressource | nginx, my-app |
| flags | Options additionnelles | -n namespace, -o yaml |
Configurez votre contexte par défaut avant toute opération :
# Vérifier le cluster actif
kubectl config current-context
# Lister tous les contextes disponibles
kubectl config get-contexts
# Changer de contexte
kubectl config use-context mon-cluster-prod
Les équipes IT passent en moyenne 34 jours ouvrés par an à résoudre des problèmes Kubernetes. Une bonne maîtrise de kubectl réduit considérablement ce temps.
Comment lister et inspecter les ressources avec kubectl ?
La commande kubectl get est la plus utilisée. Elle affiche les ressources d'un type donné.
# Lister tous les pods du namespace actuel
kubectl get pods
# Lister les pods de tous les namespaces
kubectl get pods -A
# Afficher plus de détails
kubectl get pods -o wide
# Format YAML complet
kubectl get pod mon-pod -o yaml
Inspectez une ressource en profondeur avec describe :
kubectl describe pod mon-pod
kubectl describe deployment mon-deployment
kubectl describe node worker-01
À retenir :kubectl getdonne une vue synthétique.kubectl describefournit les événements, conditions et détails de configuration.
Les raccourcis accélèrent votre productivité :
| Ressource | Forme complète | Raccourci |
|---|---|---|
| pods | pods | po |
| deployments | deployments | deploy |
| services | services | svc |
| namespaces | namespaces | ns |
| configmaps | configmaps | cm |
Approfondissez ces concepts dans Kubernetes les fondamentaux et pour débutants.
Comment créer et appliquer des ressources ?
Deux approches existent pour créer des ressources Kubernetes.
Approche impérative
Créez directement depuis la ligne de commande :
# Créer un pod nginx
kubectl run nginx --image=nginx:1.25
# Créer un deployment
kubectl create deployment mon-app --image=mon-image:v1 --replicas=3
# Exposer un deployment
kubectl expose deployment mon-app --port=80 --type=ClusterIP
Approche déclarative
Appliquez des fichiers YAML pour une gestion reproductible :
# Appliquer un fichier
kubectl apply -f deployment.yaml
# Appliquer un dossier entier
kubectl apply -f ./manifests/
# Appliquer depuis une URL
kubectl apply -f https://exemple.com/manifest.yaml
Exemple de manifest minimaliste :
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:1.25
ports:
- containerPort: 80
À retenir : privilégiez l'approche déclarative en production. Elle permet le versioning, la review et le rollback.
Pour maîtriser les Deployments Kubernetes, l'approche déclarative est essentielle.
Comment debugger avec kubectl logs et exec ?
Le debugging représente une compétence critique. Selon The Enterprisers Project : « Anybody can learn Kubernetes. With abundant documentation and development tools available online, teaching yourself Kubernetes is very much within reach. »
Consulter les logs
# Logs du pod
kubectl logs mon-pod
# Logs d'un conteneur spécifique
kubectl logs mon-pod -c mon-conteneur
# Suivre les logs en temps réel
kubectl logs -f mon-pod
# Logs des 100 dernières lignes
kubectl logs --tail=100 mon-pod
Exécuter des commandes dans un conteneur
# Ouvrir un shell interactif
kubectl exec -it mon-pod -- /bin/bash
# Exécuter une commande unique
kubectl exec mon-pod -- cat /etc/hostname
# Dans un conteneur spécifique
kubectl exec -it mon-pod -c mon-conteneur -- sh
Diagnostiquez les problèmes de démarrage :
# Événements récents
kubectl get events --sort-by='.lastTimestamp'
# État détaillé d'un pod en erreur
kubectl describe pod pod-en-erreur | grep -A 10 Events
Ces techniques de debugging s'appliquent aussi aux Services Kubernetes.
Aide-mémoire : commandes kubectl essentielles
| Commande | Description | Exemple |
|---|---|---|
kubectl get | Lister ressources | kubectl get pods -n production |
kubectl describe | Détails complets | kubectl describe svc mon-service |
kubectl apply | Créer/modifier | kubectl apply -f app.yaml |
kubectl delete | Supprimer | kubectl delete pod mon-pod |
kubectl logs | Consulter logs | kubectl logs -f deploy/mon-app |
kubectl exec | Exécuter commande | kubectl exec -it pod -- bash |
kubectl port-forward | Tunnel local | kubectl port-forward svc/api 8080:80 |
kubectl scale | Ajuster replicas | kubectl scale deploy/app --replicas=5 |
kubectl rollout | Gérer déploiements | kubectl rollout status deploy/app |
kubectl top | Métriques CPU/RAM | kubectl top pods |
Flags utiles à mémoriser
-n, --namespace # Spécifier le namespace
-A, --all-namespaces # Tous les namespaces
-o yaml/json/wide # Format de sortie
-l, --selector # Filtrer par label
--dry-run=client # Simuler sans appliquer
Avec 80% des organisations utilisant Kubernetes en production, ces commandes constituent le socle de compétences minimum.
Comment aller plus loin avec kubectl ?
Automatisez vos tâches répétitives avec des alias :
# Dans ~/.bashrc ou ~/.zshrc
alias k='kubectl'
alias kgp='kubectl get pods'
alias kgd='kubectl get deployments'
alias kgs='kubectl get services'
alias kaf='kubectl apply -f'
Activez l'autocomplétion :
# Bash
source <(kubectl completion bash)
# Zsh
source <(kubectl completion zsh)
Le kubectl tutorial officiel recommande de pratiquer sur un cluster local. Installez minikube ou kind pour expérimenter sans risque.
Pour une progression structurée vers Kubernetes les fondamentaux, combinez théorie et pratique intensive.
Passez à l'action : formations Kubernetes SFEIR
La maîtrise de kubectl ouvre la porte à l'écosystème Kubernetes complet. Pour structurer votre apprentissage :
- Découvrez Kubernetes en 1 jour avec la formation Kubernetes, les fondamentaux : architecture, pods, deployments, services
- Préparez la certification CKA avec LFS458 Administration Kubernetes : 4 jours intensifs
- Visez le CKAD avec LFD459 Kubernetes pour les développeurs : 3 jours axés développement
Contactez nos conseillers pour un parcours adapté à votre niveau et vos objectifs.