Kubectl Copier le fichier de POD à local

Kubectl Copier le fichier de POD à local
Lorsque vous utilisez Kubernetes, vous devrez peut-être transporter des fichiers dans et hors des conteneurs à base de pod. Nous avons utilisé la commande CP pour transférer des données vers et depuis les machines distantes avant la conteneurisation, et nous avons utilisé un outil comme SCP pour le faire. Heureusement, Kubernetes a une fonctionnalité comparable. La commande kubectl cp complète la commande kubectl exec, en utilisant le sous-resource exécutif dans l'API de pod Kubernetes. Kubectl CP s'appuie sur la commande TAR, qui se trouve dans le chemin d'exécution par défaut du conteneur, et il n'examine pas directement le système de fichiers du conteneur. Pour une meilleure compréhension de la commande Kubectl CP, ce guide passera en revue quelques exemples.

Avant de commencer:

Nous utiliserons l'Ubuntu 20.04 Système d'exploitation Linux pour montrer comment fonctionne la fonction Kubectl CP. Le système d'exploitation utilisé sera entièrement déterminé par les choix de l'utilisateur. Nous devons d'abord installer Kubectl puis le configurer sur notre machine. L'installation et la configuration du Minikube sont deux des exigences essentielles. De plus, vous devez commencer à utiliser Minikube. Minikube est une machine virtuelle qui exploite un cluster Kubernetes à un nœud. Sur l'ubuntu 20.04 Système Linux, nous devons utiliser le terminal de la ligne de commande pour le démarrer. Ouvrez le shell en appuyant sur «Ctrl + Alt + T» sur le clavier ou en utilisant l'application de terminal dans l'Ubuntu 20.04 Programmes système Linux. Pour commencer avec le cluster Minikube, exécutez la commande indiquée ci-dessous.

$ minikube start

Détails de la gousse

Vous attribuez une adresse IP à un pod lorsque vous le créez. LocalHost peut être utilisé pour rejoindre des conteneurs dans une pod avec un grand nombre d'entre eux. Vous pouvez étendre la communication au-delà du pod en exposant un port. De Kubectl, les commandes GET renvoient les données sous forme tabulaire pour une ou plusieurs ressources. Les sélecteurs d'étiquette peuvent être utilisés pour filtrer le contenu. Les informations ne peuvent être fournies qu'à l'espace de noms actuel ou à l'ensemble du cluster. Nous devrons choisir un nom pour la nacelle (ou les gousses) avec qui nous aimerions travailler. Nous utiliserons la commande kubectl get pod pour trouver le (s) nom (s) du ou les noms de la pod, et nous utiliserons ces noms tout au long des exemples. Exécutez la commande ci-dessous pour voir une liste des pods actuellement disponibles dans le système.

$ kubectl obtenir des pods

Nous avons généré un fichier dans le répertoire personnel de notre système. «XYZ.txt ”est le nom du fichier. La commande kubectl cp sera exécutée à partir de ce fichier.

$ touch xyz.SMS

Le fichier a été produit avec succès, comme vous pouvez le voir ci-dessous.

Assurez-vous d'avoir tout ce dont vous aurez besoin avant de commencer. Nous devons nous assurer que notre client Kubernetes est connecté à un cluster. Deuxièmement, nous devrons décider du nom (ou des gousses) de la nacelle avec laquelle nous aimerions collaborer. Pour déterminer le (s) nom (s) du (s) nom (s), nous utiliserons le pod kubectl et utiliserons ces noms dans les parties suivantes.

Transfert d'un fichier d'un PC local vers un pod

Supposons que nous devons déplacer certains fichiers d'un PC local vers un pod. Nous avons copié un fichier local dans une pod appelée «Shell-Demo» dans l'exemple précédent, et nous avons fourni le même chemin sur le pod pour reproduire le fichier. Vous verrez que nous avons suivi un chemin absolu dans les deux cas. Les chemins relatifs peuvent également être utilisés. À Kubernetes, le fichier est copié dans le répertoire de travail et non dans le répertoire domestique, qui est une distinction significative entre Kubectl CP et des technologies telles que SCP.

La commande kubectl cp prend deux paramètres, et le premier paramètre est la source, tandis que le second semble être la destination. Comme SCP, les deux paramètres (fichiers source et de destination) peuvent se référer sans aucun doute à un fichier local ou distant.

$ kubectl cp xyz.TXT Shell-Demo: XYZ.SMS

Copiez le fichier dans le répertoire actuel du pod

Nous avons maintenant créé un nouveau fichier texte avec le nom «KalSoom.SMS".

$ touche kalsoom.SMS

Le fichier est créé avec succès.

Il copiera «Kalsoom.txt »du répertoire de travail de votre pod au répertoire de travail actuel. Tapez la commande suivante dans le shell terminal de l'ubuntu 20.04 Système d'exploitation Linux.

$ kubectl cp shell-Demo: kalsoom.txt kalsoom.SMS

Conclusion

Comme nous l'avons appris dans cet article, la commande Kubectl CP la plus couramment utilisée est de copier des fichiers entre la machine utilisateur ou le cloud et les conteneurs. Cette commande copie les fichiers en produisant un fichier TAR dans le conteneur, en le reproduisant au réseau, puis en le déballant à l'aide de Kubectl sur la station de travail de l'utilisateur ou l'instance cloud. La commande kubectl cp est assez pratique et utilisée par beaucoup pour transférer des fichiers entre les gousses de Kubernetes et le système local. Cette commande pourrait être utile pour déboguer tous les journaux ou fichiers de contenu qui sont sortis localement dans le conteneur et si vous souhaitez vider la base de données du conteneur, par exemple.