“Kubectl est une interface en ligne de commande qui permet d’exécuter des commandes sur des clusters Kubernetes”. C’est avec cela que l’on va pouvoir effectuer diverses opérations sur notre cluster.
Kubectl dépend d’une kubeconfig. Il s’agit d’un fichier de configuration d’accès à un ou plusieurs clusters. On parlera alors de context, pour savoir sur quel cluster est configuré notre commande Kubectl, on peut utiliser :
Ou bien si l’on veut changer de clusters dans notre config, on peut utiliser :
Cette commande permet de lister les pods présents sur le cluster Kubernetes. Cette commande fonctionne pour tous les types de ressources Kubernetes: pods, services, deployments, cronjobs, events, ingresses, etc... On peut aussi ajouter des paramètres:
--all-namespaces
: Liste toutes les ressources de tous les namespaces.
-o wide
: Liste toutes les ressources avec plus de détails.
La commande describe donne un affichage verbeux du pod contrairement au get et affichage basique. Cela permet d’avoir les events, utile quand un pod ne démarre pas.
Ex : Kubectl describe pods my-pod
.
Cette commande affiche les logs de votre POD. On peut rajouter l’option -c
conteneur lorsque l’on veut afficher les logs d’un pod multi-conteneur. La commande -f
permet d’afficher la sortie des logs en continue (stream)
Exemple: Kubectl logs -f my_pod -c my_app
- Stream les logs du containeur my_app
sur le pod my_pod
.
Affiche les métriques pour un pod donné et ses conteneurs au sein d’un cluster Kubernetes
Créer une ou plusieurs ressources depuis votre fichier ou dossier.
Applique un changement de configuration à une ressource depuis votre fichier.
Supprime une ou plusieurs ressources Kubernetes à partir d’un fichier de configuration ou bien directement à partir des noms des ressources.
Ex: Kubectl delete my_pod
(détruit le pod sur le cluster portant le nom my_pod
)
Permet d’exposer un port local vers le port d’un POD qui est en train de tourner sur le cluster Kubernetes. Utile pour débugger.
Ex : Kubectl port-forward my_pod 80:3000
(expose le port 3000 du pod my_pod sur notre port local 80)
Exécute dans la ressource dans le cluster Kubernetes.
Exemple : Kubectl run -i --tty busybox --image=busybox -- sh
- Exécute un pod comme un shell interactif
Voici les commandes de base pour Kubernetes et Kubectl. N’hésitez pas à nous contacter si vous avez des questions ou que vous souhaitez que nous ajoutions certaines commandes à l’article. Je vous conseille également d'aller lire cet article concernant les "tips and tricks" de Kubernetes pour améliorer votre productivité avec Kubernetes. Pour aller plus loin au niveau de la conteneurisation, je vous invite à consulter cet article concernant les commandes de docker et docker-compose à connaître.