Aide-mémoire5 min de lecture

kubectl : commandes essentielles pour débutants

SFEIR Institute

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 logs et kubectl 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 :

  1. Contrôle total : déployer, scaler, debugger sans interface graphique
  2. Automatisation : intégrer kubectl dans vos scripts CI/CD
  3. 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émentDescriptionExemple
commandeAction à effectuerget, create, delete
TYPEType de ressourcepod, deployment, service
NOMNom de la ressourcenginx, my-app
flagsOptions 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 get donne une vue synthétique. kubectl describe fournit les événements, conditions et détails de configuration.

Les raccourcis accélèrent votre productivité :

RessourceForme complèteRaccourci
podspodspo
deploymentsdeploymentsdeploy
servicesservicessvc
namespacesnamespacesns
configmapsconfigmapscm

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

CommandeDescriptionExemple
kubectl getLister ressourceskubectl get pods -n production
kubectl describeDétails completskubectl describe svc mon-service
kubectl applyCréer/modifierkubectl apply -f app.yaml
kubectl deleteSupprimerkubectl delete pod mon-pod
kubectl logsConsulter logskubectl logs -f deploy/mon-app
kubectl execExécuter commandekubectl exec -it pod -- bash
kubectl port-forwardTunnel localkubectl port-forward svc/api 8080:80
kubectl scaleAjuster replicaskubectl scale deploy/app --replicas=5
kubectl rolloutGérer déploiementskubectl rollout status deploy/app
kubectl topMétriques CPU/RAMkubectl 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 :

Contactez nos conseillers pour un parcours adapté à votre niveau et vos objectifs.