Kubernetes é uma plataforma de código aberto concebida para automatizar o processo de implantação, dimensionamento e operações de contêineres de aplicativos em clusters de hosts. Esta plataforma fornece uma maneira eficaz de gerenciar contêineres em grande escala, facilitando o processo de implantação, atualização e manutenção de aplicativos.
Agora, apresentaremos um resumo das tarefas comuns executadas com o Kubernetes, fornecendo um roteiro prático para aproveitar ao máximo as funcionalidades que essa plataforma tem a oferecer de uma maneira descritiva.
Implementação de um Aplicativo
O comando ‘kubectl create’ é usado para criar uma implantação, que gerencia réplicas de seu aplicativo. Por exemplo, o comando ‘kubectl create deployment myapp –image=nginx’ cria uma implantação chamada “myapp” usando a imagem “nginx”.
Dimensionamento de uma Implantação
Para aumentar ou diminuir o número de réplicas em uma implantação, utiliza-se o comando ‘kubectl scale’. Por exemplo, o comando ‘kubectl scale deployment myapp –replicas=3’ dimensiona a implantação “myapp” para ter 3 réplicas.
Atualizando um Aplicativo
O comando ‘kubectl apply’ é usado para atualizar uma implantação existente com uma nova imagem ou configuração. Por exemplo, ‘kubectl set image deployment myapp myapp=nginx:1.15’ atualiza a implantação “myapp” para usar a imagem “nginx:1.15”.
Verificando o Status de uma Implantação
Para obter informações sobre implantações, pods e outros objetos Kubernetes, utiliza-se o comando ‘kubectl get’. Por exemplo, ‘kubectl get deployment’ recupera informações sobre todas as implantações no namespace atual.
Depurando um Pod
Para visualizar os logs de um pod e obter informações detalhadas sobre ele, pode-se utilizar os comandos ‘kubectl logs‘ e ‘kubectl describe’ respectivamente. Por exemplo, ‘kubectl logs myapp-pod-1234’ recupera os logs para o pod chamado “myapp-pod-1234”.
Expondo um Serviço
O comando ‘kubectl expose’ é usado para expor uma implantação como um serviço, tornando-o acessível fora do cluster. Por exemplo, ‘kubectl expose deployment myapp –type=NodePort –port=80’ expõe a implantação “myapp” como um serviço, acessível através de um nó porta na porta 80.
Revertendo uma Atualização
Para reverter para uma versão anterior de uma implantação, utiliza-se o comando ‘kubectl rollout undo’. Por exemplo, ‘kubectl rollout undo deployment myapp’ desfaz a última atualização da implantação “myapp”.
Criando um Secret
O comando ‘kubectl create secret’ é usado para armazenar informações sensíveis, como senhas e certificados, que podem ser utilizados pelos pods. Por exemplo, ‘kubectl create secret generic mysecret –from-literal=password=secretpassword’ cria um segredo chamado “mysecret” com a chave “password” e o valor “secretpassword“.
Autodimensionamento
O autodimensionamento horizontal de pod pode ser usado para aumentar ou diminuir automaticamente o número de réplicas em uma implantação com base na utilização da CPU ou outras métricas. Por exemplo, ‘kubectl autoscale deployment myapp –min=2 –max=5 –cpu-percent=80′ habilita o autodimensionamento para a implantação “myapp“, com um mínimo de 2 réplicas e um máximo de 5, escalando com base na utilização da CPU atingindo 80%.
Considerações Finais
Estas são apenas algumas das tarefas básicas que você pode realizar com o Kubernetes. Existem muitos recursos avançados, como políticas de rede, cotas de recursos e controladores personalizados, que você pode explorar para aprimorar sua experiência com o Kubernetes. Acompanhe as atualizações e novidades da plataforma para expandir continuamente suas habilidades e conhecimentos.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.