Execute o Bash em uma vagem com Kubectl?

Execute o Bash em uma vagem com Kubectl?
Este artigo demonstra como colocar um shell em um contêiner em execução usando o Kubectl Exec. Este artigo deve ser feito em um cluster com um mínimo de dois nós que não controlam hosts de avião. Você pode usar o Minikube para construir um cluster se não tiver um.

Para executar as instruções em Kubernetes, você precisará do Ubuntu 20.04 implantado em seu sistema operacional Linux. Para executar o Kubernetes no Linux, você também precisará instalar o cluster Minikube no seu PC. Minikube simplifica o teste de comandos e programadores, permitindo que você faça isso sistematicamente. Como resultado, oferece aos iniciantes a melhor experiência de aprendizado de Kubernetes possível. O cluster Minikube deve ser iniciado primeiro. Vá para o terminal prompt de comando recém -instalado no Ubuntu 20.04. Usando a chave de atalho Ctrl+Alt+T ou colocando “Terminal” no Ubuntu 20.04 Caixa de pesquisa do sistema, você pode fazer isso. Qualquer um dos caminhos anteriores iniciará completamente o minikube no shell do terminal. O Minikube será iniciado depois disso.

$ minikube Iniciar

Digite “Minikube Start” no terminal para iniciar o minikube. O cluster Kubernetes será lançado depois que uma máquina virtual capaz de operar um único cluster de nós foi construído. Também funcionará com o ambiente Kubectl. É assim que o cluster vai interagir com você.

Pegue uma concha para um contêiner em execução

Primeiro, criamos um arquivo usando o comando Touch. É usado para criar um arquivo que não tenha nenhum conteúdo. O comando Touch gerou um arquivo vazio. Este comando também pode ser usado se o usuário não tiver nenhum dado para armazenar quando o arquivo é criado.

$ toque shell.Yaml

Com o comando Touch, você pode fazer um único arquivo de cada vez. Veja a seguinte captura de tela para uma ideia melhor. Toque, como todos os outros comandos, tem uma variedade de possibilidades. Essas opções podem ser usadas para diversas finalidades. Para criar um grande número de arquivos de uma só vez, use o comando Touch. Esses arquivos não conteriam nenhum dado quando foram criados.

Criamos com sucesso um pod com um contêiner. A imagem nginx é executada pelo contêiner. O arquivo de configuração do pod é o seguinte:

Claro, você é livre para usar uma imagem ou concha diferente. Alguns argumentos são mencionados abaixo:

minha casca: O nome da implantação produzido geralmente recebe o nome. Este será o título de pod com um ID único no fim.

-rm: Quando nos separarmos, excluímos todos os recursos que produzimos. Isso limpa a implantação e a vagem depois de fechar sua sessão.

-I/-tty: É a combinação desses dois que nos permite participar de uma sessão interativa.

-: Separa o arg posicional do final das opções de execução Kubectl (Bash).

Bash: Ele substitui o CMD do contêiner com Bash. Desejamos usar o Bash como comando de nosso contêiner neste cenário.

Agora o pod é criado com sucesso com este comando.

$ kubectl Aplicar -f shell.Yaml

O seguinte comando (get pod) pode ser usado para testar com êxito que o contêiner está executando.

$ KUBECTL Get Pod Shell-Demo

O comando Kubectl EXEC é usado para executar comandos dentro de vagens Kubernetes usando contêineres do Docker. Também é possível adquirir um shell interativo para um recipiente do Docker em execução em uma vagem usando este comando.

O comando Kubectl EXEC permite que você inicie uma sessão de shell dentro de seus contêineres do cluster de Kubernetes. Quando os logs por si só não forem suficientes, use este comando para investigar o sistema de arquivos do contêiner, verifique o estado do ambiente e use ferramentas adicionais de depuração. A melhor maneira de colocar um shell em um contêiner Kubernetes é usar o Kubectl Exec. Foi criado expressamente para esse fim e eliminou todas as complicações ao determinar a qual nó físico se conectar.

Não há nada que o impeça de alterar o contêiner com o Kubectl Exec porque ele oferece acesso completo à concha. Isso permite instalar pacotes de software adicionais para ajudar na solução de problemas.

Liste o diretório raiz em sua concha. Dentro do recipiente, digite “LS /”.

Abertura do console sempre que uma vagem tem dois ou mais recipientes

Considere o seguinte cenário: você tem dois recipientes chamados main-app e helper-app em seu pod chamado mypod. O comando a seguir inicia um shell no contêiner Main-App.

$ KUBECTL EXEC -I -T MY -POD - -Container Main -App - /Bin /Bash

Conclusão

Neste artigo, aprendemos a executar o comando Bash com Kubectl e os pré -requisitos de executar as instruções em Kubernetes. Além disso, também passamos pelo básico do comando Touch e EXEC e para qual propósito eles são usados.