Arquivo de cópia de kubectl de pod para local

Arquivo de cópia de kubectl de pod para local
Ao usar o Kubernetes, pode ser necessário transportar arquivos para dentro e fora dos contêineres baseados em POD. Utilizamos o comando cp para transferir dados para e para máquinas remotas antes da contêinerização, e usamos uma ferramenta como o SCP para fazer isso. Kubernetes, felizmente, tem um recurso comparável. O comando Kubectl CP completa o comando Kubectl Exec, utilizando o sub -RESURCE EXEC no Kubernetes POD API. Kubectl CP conta com o comando TAR, localizado no caminho de execução padrão do contêiner, e não examina diretamente o sistema de arquivos do contêiner. Para uma melhor compreensão do comando Kubectl CP, este guia passará por alguns exemplos.

Antes de começar:

Vamos usar o Ubuntu 20.04 Sistema operacional Linux para demonstrar como a função Kubectl CP funciona. O sistema operacional usado será totalmente determinado pelas escolhas do usuário. Devemos primeiro instalar o Kubectl e depois configurá -lo em nossa máquina. A instalação e configuração do Minikube são dois dos requisitos essenciais. Além disso, você deve começar a usar o Minikube. Minikube é uma máquina virtual que opera um cluster de Kubernetes de um único nó. No Ubuntu 20.04 Sistema Linux, devemos usar o terminal da linha de comando para iniciá -lo. Abra o shell pressionando “Ctrl+Alt+T” no teclado ou usando o aplicativo Terminal no Ubuntu 20.04 Programas do sistema Linux. Para começar com o cluster Minikube, execute o comando indicado abaixo.

$ minikube Iniciar

Detalhes do pod

Você atribui um endereço IP a um pod quando você o cria. Localhost pode ser usado para se juntar aos contêineres em uma vagem com um grande número deles. Você pode estender a comunicação além do pod, expondo uma porta. De Kubectl, os comandos get retornam dados em forma de tabular para um ou mais recursos. Seletores de etiquetas podem ser usados ​​para filtrar o conteúdo. As informações só podem ser fornecidas ao espaço de nome atual ou a todo o cluster. Precisamos escolher um nome para a vagem (ou vagens) com quem gostaríamos de trabalhar. Usaremos o comando Kubectl Get Pod para encontrar o (s) nome (s) da vagem, e usaremos esses nomes ao longo dos exemplos. Execute o comando abaixo para ver uma lista dos pods atualmente disponíveis no sistema.

$ kubectl Obtenha pods

Geramos um arquivo no diretório inicial do nosso sistema. “XYZ.txt ”é o nome do arquivo. O comando Kubectl CP será executado a partir deste arquivo.

$ touch xyz.TXT

O arquivo foi produzido com sucesso, como você pode ver abaixo.

Certifique -se de ter tudo o que precisará antes de começar. Devemos garantir que nosso cliente Kubernetes esteja conectado a um cluster. Segundo, precisaremos decidir sobre o nome da vagem (ou vagens) com o qual gostaríamos de colaborar. Para determinar o nome do pod (s), usaremos o kubectl Obterem pod e utilizaremos esses nomes nas seguintes partes.

Transferência de um arquivo de um PC local para uma vagem

Vamos supor que precisamos mover alguns arquivos de um PC local para uma vagem. Copiamos um arquivo local para um pod chamado "Shell-Demo" no exemplo anterior, e fornecemos o mesmo caminho no pod para reproduzir o arquivo. Você verá que seguimos um caminho absoluto nos dois casos. Caminhos relativos também podem ser empregados. Em Kubernetes, o arquivo é copiado para o diretório de trabalho e não no diretório doméstico, que é uma distinção significativa entre Kubectl CP e tecnologias como SCP.

O comando Kubectl CP leva dois parâmetros, e o primeiro parâmetro é a fonte, enquanto o segundo parece ser o destino. Como o SCP, ambos os parâmetros (arquivos de origem e destino) podem se referir a um arquivo local ou remoto sem dúvida.

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

Copie o arquivo para o diretório atual da vagem

Agora criamos um novo arquivo de texto com o nome “Kalsoom.TXT".

$ toque kalsoom.TXT

O arquivo é criado com sucesso.

Ele copiará “Kalsoom.txt ”do diretório de trabalho do seu pod ao diretório de trabalho atual. Digite o seguinte comando no shell do terminal do Ubuntu 20.04 Sistema operacional Linux.

$ KUBECTL CP Shell-Demo: Kalsoom.txt kalsoom.TXT

Conclusão

Como aprendemos neste post, o comando Kubectl CP mais usado é copiar arquivos entre a máquina de usuário ou a nuvem e os contêineres. Este comando copia os arquivos produzindo um arquivo TAR no contêiner, replicando -o para a rede e descompactando -o com a ajuda de Kubectl na estação de trabalho do usuário ou na instância da nuvem. O comando kubectl cp é bastante útil e usado por muitos para transferir arquivos entre as pods Kubernetes e o sistema local. Este comando pode ser útil para depurar quaisquer logs ou arquivos de conteúdo que sejam emitidos localmente dentro do contêiner e se você deseja despejar o banco de dados do contêiner, por exemplo.