La commande kubectl exec facilite la gestion des tâches arbitraires de loin dans le conteneur existant d'un pod. Lorsque vous devez inspecter le contenu, l'état et / ou l'environnement d'un conteneur, cela rend les choses plus faciles. Pour nous tous qui interagissent régulièrement avec les applications conteneurisées de Kubernetes, la commande kubectl exec est une bouée de sauvetage. En exécutant des commandes dans nos conteneurs, nous pouvons analyser et déboguer nos applications. Kubectl est un outil de ligne de commande pour exécuter les commandes de cluster Kubernetes. Cet article couvre la syntaxe de Kubectl, les actions de commande et les exemples fréquents. Pour que votre processus fonctionne avec succès, vous devrez peut-être configurer l'environnement dans votre conteneur. Dans ce cas, la méthode idéale consiste à démarrer le conteneur avec un script shell. L'objectif principal de ce script shell est de configurer l'environnement et de démarrer le processus principal.
Si vous utilisez cette méthode, le script shell aura PID 1, pas votre processus. C'est pourquoi vous devez utiliser la commande EXEC intégrée du script shell pour démarrer le processus. La commande exec remplace l'application souhaitée au script. Ensuite, PID 1 est envoyé à votre processus. Le guide expliquera en détail l'utilisation de la commande kubectl exec.
Conditions préalables
Vous devriez avoir le cluster Minikube configuré sur votre système pour exécuter la commande exec avec kubectl. Pour accéder à votre système, vous aurez également besoin de privilèges sudo. Lors de la mise en œuvre de cet article, nous avons utilisé Ubuntu 20.04 LTS. Pour la mise en œuvre, vous pouvez utiliser votre système d'exploitation préféré. Nous avons déjà installé Kubectl sur notre système. Vous devez l'installer avant d'implémenter ce guide.
Méthode pour utiliser la commande kubectl exec
Pour utiliser la commande exec avec kubectl, vous devez d'abord installer un cluster minikube. Nous devrons exécuter le shell de ligne de commande dans Ubuntu 20.04 LTS. Deux techniques simples sont disponibles pour lancer la fenêtre de terminal. Une telle façon consiste à utiliser la barre d'application de votre système d'exploitation pour y accéder. Une autre approche consiste à utiliser la combinaison de clé de raccourci la plus simple de «Ctrl + alt + t."Le terminal de ligne de commande s'ouvrira dès que vous utiliserez l'une ou l'autre de ces manières.
Tout d'abord, vous devez démarrer le cluster Minikube qui a déjà été installé sur votre Ubuntu 20.04 Système d'exploitation LTS. Dans la ligne de commande, saisissez la commande apposée suivante pour exécuter Minikube:
$ minikube start
Pour commencer avec Minikube, vous devez attendre quelques instants après avoir exécuté cette commande. Vous pouvez également consulter la version minikube affichée après que la commande a été exécutée avec succès. À l'aide de la commande kubectl get pods, affichez les pods et choisissez-en un à exécuter avec la commande exec:
$ kubectl obtenir des pods
Nous utilisons un pod «Shell-Demo» à cet effet. Vous pouvez utiliser les paramètres -I et -T pour l'exécutif Kubectl pour lancer un shell lié à votre terminal. Par exemple, utilisez la commande apposée suivante:
$ kubectl exec -it shell-Demo - sh
Vous êtes maintenant prêt à utiliser la coquille. La commande suivante peut vous aider à répertorier le répertoire racine:
# LS
La sortie sera similaire à celle qui est affichée dans l'image. Vous pouvez mettre à jour le shell en utilisant la commande suivante:
# mise à jour apt-get
Selon votre vitesse Internet, la mise à jour sera terminée:
$ kubectl exec shell-Demo - curl -s http: // 10.111.249.153
Vous aurez également besoin de connaître IP de cluster de votre service. Nous avons ajouté notre nom et notre service IP de pod. Cependant, vous pouvez utiliser le nom et le service IP souhaités.
Conclusion
Kubernetes est un système compliqué, mais parfois l'approche la plus rapide et la plus évidente pour trouver un problème est d'exécuter des commandes directement sur un pod en cours d'exécution. Heureusement, l'outil de ligne de commande Kubernetes, Kubectl, a une fonction exécutive intégrée, en particulier à cet effet. Nous avons expliqué l'utilisation de la commande exec en détail. Après avoir lu ce guide, je vous garantis que vous n'aurez aucun doute sur la commande kubectl exec.