Skip to content

Commandes kubectl expliquées

Les commandes kubectl utilisées au quotidien, regroupées par tâche : lire le cluster, inspecter les charges de travail, appliquer et annuler des changements, exposer des services, gérer les nœuds et créer des objets de configuration. Chaque ligne associe la commande à une invocation réaliste.

kubectl est votre moyen d'action sur un cluster Kubernetes. Le modèle est déclaratif : vous appliquez généralement un manifeste (apply -f) plutôt que de créer les choses de façon impérative, puis vous relisez le résultat (get, describe, logs). Les commandes ci-dessous couvrent l'exploitation quotidienne ; ajoutez le flag de namespace (-n name) quand vous n'êtes pas dans le namespace par défaut.

Tableau de référence · 59 entrées
59 of 59 rows
Cluster et contexte
Affiche où s'exécutent le plan de contrôle et les services principaux.kubectl cluster-info
Liste les clusters et namespaces entre lesquels vous pouvez basculer.kubectl config get-contexts
Bascule vers un autre contexte de cluster ou de namespace.kubectl config use-context my-prod
Définit le namespace par défaut du contexte courant.kubectl config set-context --current --namespace=staging
Renomme un contexte enregistré dans votre kubeconfig.kubectl config rename-context old-name prod
Liste tous les types de ressources connus du cluster.kubectl api-resources
Affiche les versions Kubernetes du client et du serveur.kubectl version
Affiche les champs acceptés par une ressource, lus depuis le schéma de l'API.kubectl explain pod.spec.containers
Vérifie si l'utilisateur courant peut exécuter une action donnée.kubectl auth can-i delete pods
Inspection des charges de travail
Liste les pods et leur statut ; ajoutez -o wide pour le nœud et l'IP.kubectl get pods -A
Liste en un seul appel les ressources courantes d'un namespace.kubectl get all
Ajoute les colonnes nœud et IP à toute commande get.kubectl get pods -o wide
Affiche une ressource comme le manifeste YAML complet qui se cache derrière.kubectl get deploy/web -o yaml
Liste les deployments et le nombre de replicas prêts.kubectl get deployments
Liste les stateful sets et leurs replicas prêts.kubectl get statefulsets
Liste les jobs de batch et les cron jobs planifiés.kubectl get jobs,cronjobs
Affiche les événements, labels et statut d'un pod.kubectl describe pod web-abc
Affiche la capacité d'un nœud, ses conditions et les pods qui y tournent.kubectl describe node node-1
Affiche la sortie standard d'un pod ; -f pour suivre, --previous pour le dernier crash.kubectl logs -f web-abc
Exécute une commande à l'intérieur d'un pod en cours d'exécution.kubectl exec -it web-abc -- sh
CPU et mémoire en direct pour les pods ou nœuds (nécessite metrics-server).kubectl top pods
Liste les événements récents tels que les pulls échoués et les backoffs.kubectl get events -A --sort-by=.lastTimestamp
Liste les règles d'ingress et leurs adresses de load balancer.kubectl get ingress
Copie des fichiers entre votre machine et un pod en cours d'exécution.kubectl cp web-abc:/var/log/app.log ./app.log
Bloque jusqu'à ce qu'une ressource remplisse une condition.kubectl wait --for=condition=ready pod -l app=web
Lance un pod jetable depuis une image, sans manifeste.kubectl run debug --rm -it --image=busybox -- sh
Appliquer, mettre à l'échelle, déployer
Affiche ce que apply changerait, sans rien changer.kubectl diff -f deploy.yaml
Crée ou met à jour des ressources depuis un fichier manifeste.kubectl apply -f deploy.yaml
Applique des manifestes et supprime les objets qui n'y figurent plus.kubectl apply -f dir/ --prune -l app=web
Ouvre une ressource en direct dans votre éditeur et applique à l'enregistrement.kubectl edit deploy/web
Modifie quelques champs d'une ressource en direct.kubectl patch deploy/web --patch-file fix.json
Pointe les conteneurs d'un deployment vers une nouvelle image.kubectl set image deploy/web web=nginx:1.27
Remplace un objet, en le supprimant et le recréant si nécessaire.kubectl replace --force -f deploy.yaml
Supprime les ressources déclarées dans un fichier manifeste.kubectl delete -f deploy.yaml
Change le nombre de replicas d'un deployment.kubectl scale deploy/web --replicas=4
Suit un rollout jusqu'à son aboutissement ou son échec.kubectl rollout status deploy/web
Liste les révisions traversées par un rollout.kubectl rollout history deploy/web
Redémarre un à un chaque pod d'un deployment.kubectl rollout restart deploy/web
Ramène un deployment à sa révision précédente.kubectl rollout undo deploy/web
Services et réseau
Liste les services avec leur type et leur IP de cluster.kubectl get svc
Affiche quelles IPs de pods servent actuellement chaque service.kubectl get endpoints web
Crée un service qui expose un ensemble de pods ; --type=NodePort ou LoadBalancer atteint l'extérieur du cluster.kubectl expose deploy/web --port=80
Affiche l'adresse du load balancer derrière chaque ingress (alpha).kubectl ingress status -A
Liste les politiques qui restreignent le trafic des pods.kubectl get networkpolicies
Crée un tunnel entre un port local et un pod ou un service.kubectl port-forward svc/web 8080:80
Nœuds et maintenance
Liste les nœuds du cluster et leur statut.kubectl get nodes -o wide
Marque un nœud non planifiable (aucun nouveau pod).kubectl cordon node-1
Marque de nouveau un nœud comme planifiable.kubectl uncordon node-1
Évince les pods d'un nœud et le marque non planifiable.kubectl drain node-1 --ignore-daemonsets
Ajoute ou retire un taint qui repousse les pods d'un nœud.kubectl taint node node-1 key=value:NoSchedule
Supprime aussitôt un pod bloqué, en sautant l'arrêt gracieux.kubectl delete pod web-abc --grace-period=0 --force
Objets et configuration
Crée un nouveau namespace pour y délimiter des ressources.kubectl create namespace staging
Liste les namespaces et leur statut.kubectl get namespaces
Stocke des clés ou fichiers de configuration comme objet de cluster.kubectl create configmap app --from-file=config.yaml
Liste les config maps du namespace.kubectl get configmaps
Stocke un mot de passe ou un certificat comme secret.kubectl create secret generic db --from-literal=password=s3cret
Liste les secrets du namespace.kubectl get secrets
Ajoute ou retire un label sur une ressource.kubectl label pod web-abc tier=backend
Attache des métadonnées que les sélecteurs ne peuvent pas filtrer.kubectl annotate deploy/web release=july