Exécutez Bash dans une pod avec Kubectl?

Exécutez Bash dans une pod avec Kubectl?
Cet article montre comment mettre un shell dans un conteneur en cours d'exécution à l'aide de Kubectl Exec. Cet article doit être fait sur un cluster avec un minimum de deux nœuds qui ne contrôlent pas les hôtes. Vous pouvez utiliser Minikube pour construire un cluster si vous n'en avez pas actuellement.

Pour exécuter l'instruction à Kubernetes, vous aurez besoin d'Ubuntu 20.04 déployé sur votre système d'exploitation Linux. Pour exécuter Kubernetes sur Linux, vous devrez également installer le cluster Minikube sur votre PC. Minikube facilite le test des commandes et des programmeurs en vous permettant de le faire systématiquement. En conséquence, il donne aux novices la meilleure expérience d'apprentissage Kubernetes possible. Le cluster Minikube doit être démarré en premier. Accédez au terminal d'invite de commande nouvellement installé dans Ubuntu 20.04. En utilisant la clé de raccourci Ctrl + Alt + T ou en mettant le «terminal» dans l'ubuntu 20.04 RECHERCHER du système, vous pouvez le faire. L'une des manières précédentes initiera pleinement le minikube sur la coquille terminale. Le minikube sera lancé après cela.

$ minikube start

Tapez «Minikube Start» dans le terminal pour démarrer le minikube. Le cluster Kubernetes sera lancé après qu'une machine virtuelle capable d'exploiter un seul cluster de nœuds a été construite. Il fonctionnera également avec l'environnement Kubectl. C'est ainsi que le cluster interagira avec vous.

Obtenez un shell dans un conteneur en cours d'exécution

Tout d'abord, nous avons créé un fichier en utilisant la commande tactile. Il est utilisé pour créer un fichier qui n'a pas de contenu. La commande tactile a généré un fichier vide. Cette commande peut également être utilisée si l'utilisateur n'a pas de données à stocker lorsque le fichier est créé.

$ touch shell.yaml

Avec la commande tactile, vous pouvez faire un seul fichier à la fois. Voir la capture d'écran suivante pour une meilleure idée. Touch, comme toutes les autres commandes, a une variété de possibilités. Ces options peuvent être utilisées à diverses fins. Pour créer un grand nombre de fichiers à la fois, utilisez la commande tactile. Ces fichiers ne contiendraient aucune donnée lors de leur création.

Nous avons réussi à créer une pod avec un conteneur. L'image Nginx est exécutée par le conteneur. Le fichier de configuration du pod est le suivant:

Bien sûr, vous êtes libre d'utiliser une image ou un shell différent. Quelques arguments sont mentionnés ci-dessous:

ma shell: Le nom du déploiement produit est généralement nommé d'après cela. Ce sera le titre de pod avec un identifiant unique à sa fin.

-RM: Lorsque nous détachons, supprimez toutes les ressources que nous avons produites. Cela nettoie le déploiement ainsi que le pod après la fermeture de votre session.

-I / -TTY: C'est la combinaison de ces deux qui nous permet de rejoindre une session interactive.

-: Sépare l'ARG positionnel de la fin des options d'exécution de Kubectl (bash).

Frapper: Il remplace le CMD du conteneur avec bash. Nous souhaitons utiliser Bash comme commande de notre conteneur dans ce scénario.

Maintenant, le pod est créé avec succès avec cette commande.

$ kubectl appliquer -f shell.yaml

La commande suivante (Get Pod) peut être utilisée pour tester avec succès que le conteneur s'exécute.

$ kubectl get pod shell-Demo

La commande kubectl exec est utilisée pour effectuer des commandes à l'intérieur des pods kubernetes à l'aide de conteneurs docker. Il est également possible d'acquérir un shell interactif dans un conteneur Docker exécutant dans une pod en utilisant cette commande.

La commande kubectl exec vous permet de démarrer une session de shell dans les conteneurs de votre cluster Kubernetes. Lorsque les journaux seuls ne sont pas suffisants, utilisez cette commande pour enquêter sur le système de fichiers du conteneur, vérifiez l'état de l'environnement et utilisez des outils de débogage supplémentaires. La meilleure façon de mettre un shell dans un conteneur Kubernetes est d'utiliser Kubectl Exec. Il a été créé expressément à cet effet et a éliminé toutes les complications en déterminant à quel nœud physique pour se connecter.

Rien ne vous empêche de modifier le conteneur avec Kubectl Exec car il vous donne un accès complet. Cela vous permet d'installer des packages logiciels supplémentaires pour faciliter le dépannage.

Énumérez le répertoire racine dans votre shell. À l'intérieur du conteneur, tapez «LS /».

Ouverture de la console chaque fois qu'un pod a deux conteneurs ou plus

Considérez le scénario suivant: vous avez deux conteneurs nommés Main-App et Helper-App dans votre pod nommé My-Pod. La commande suivante démarre un shell dans le conteneur principal appas.

$ kubectl exec -i -t my-pod - container principal - / bin / bash

Conclusion

Dans cet article, nous avons appris à exécuter la commande bash avec Kubectl et les conditions préalables à l'exécution des instructions dans Kubernetes. De plus, nous avons également parcouru les bases de la commande Touch et Exec et dans quel but ils sont utilisés.