Commandes kubectl Essentielles
Durée: 5 min de lecture
Liste une ressource de l’API server
Pour récupérer les détails d’une ressource spécifique dans Kubernetes, utilisez la commande suivante :
kubectl get <resource-name> <obj-name> [-o yaml/json]Décrire une ressource de l’API server
Pour obtenir une description détaillée d’une ressource spécifique, utilisez :
kubectl describe <resource-name> <obj-name>Créer ou mettre à jour des ressources à partir d’un fichier
Pour créer ou mettre à jour des ressources à partir d’un fichier YAML, utilisez :
kubectl apply -f obj.yamlSupprimer des ressources à partir d’un fichier
Pour supprimer des ressources définies dans un fichier YAML, utilisez :
kubectl delete -f obj.yaml
# où bien pour détruire la ressource par son nom
kubectl delete <resource-name> <obj-name>Faire du ménage dans un namespace
Pour supprimer tous les objets, utilisez :
kubectl delete all --allÉditer une ressource dans la base de données de Kubernetes (c’est-à-dire etcd)
Pour éditer une ressource directement dans la base de données de Kubernetes, utilisez :
kubectl edit <resource-name> <obj-name>En savoir plus sur les meilleures pratiques de création de microservices
Afficher la documentation en ligne (et fournir des exemples utiles)
Pour afficher l’aide et des exemples d’utilisation pour une commande spécifique, utilisez :
kubectl create job --help
# ou
kubectl help create jobDécrire la spécification YAML
Pour obtenir une description de la spécification YAML pour un type de ressource spécifique, utilisez :
kubectl explain pods.spec [--recursive]Afficher les journaux pour un conteneur (c’est-à-dire stdout/stderr)
Pour afficher les journaux d’un conteneur spécifique, utilisez :
kubectl logs <pod-name> [ -c <container-name> ]Ouvrir un shell interactif dans un conteneur
Pour ouvrir un shell interactif dans un conteneur, utilisez :
kubectl exec -it <pod-name> -- bashOuvrir un accès réseau entre un pod et kubectl
Pour écouter sur le port 8080 localement et transférer les données vers/depuis le port 80 dans le pod, utilisez :
# Écouter sur le port 8080 localement, transférant les données vers/depuis le port 80 dans le pod
kubectl port-forward pod/mypod 8080:80 &
# Accéder au pod avec un client HTTP
curl http://localhost:8080Générer rapidement une spécification yaml
Les options --dry-run=client -o yaml permettent de générer du yaml sans créer la resources dans Kubernetes. Elles sont très utiles pour générer rapidement des fichiers yaml qui peuvent servir de base de travail. Voici un example d’utilisation:
kubectl create service clusterip my-service --tcp=5678:8080 --dry-run=client -o yamlVoir la liste des ressources en cours d’utilisation
Cette commande nécessite l’installation de ‘kubernetes-sigs/metrics-server’ Pour afficher les métriques des nœuds et des pods, utilisez :
kubectl top nodes
kubectl top podsCopier des fichiers vers et depuis un conteneur
Pour copier des fichiers vers et depuis un conteneur, utilisez :
kubectl cp <pod-name:/path/to/remote/file> </path/to/local/file>