Introdução
O comando set no Kubernetes é uma ferramenta versátil que permite modificar a configuração de recursos Kubernetes existentes. Este comando possibilita ajustes como a atualização de imagens de contêiner e a configuração de solicitações e limites de recursos, tudo sem editar diretamente os arquivos YAML. Ele simplifica o gerenciamento de recursos e aumenta a eficiência operacional.
Ao final deste laboratório, você entenderá como:
- Iniciar um cluster Kubernetes.
- Atualizar a imagem do contêiner de um deployment.
- Configurar solicitações e limites de recursos para um deployment.
- Modificar rótulos (labels) e anotações (annotations) em um deployment usando os comandos relevantes.
Este laboratório foi projetado para iniciantes e presume que você está trabalhando em um sistema Ubuntu Linux com as ferramentas Kubernetes instaladas. Nenhuma experiência prévia com Kubernetes é necessária.
Iniciar um Cluster Kubernetes
Antes de interagir com os recursos Kubernetes, certifique-se de que um cluster Kubernetes esteja em execução. Para este laboratório, usaremos o Minikube para configurar um cluster Kubernetes de nó único.
Abra um terminal e inicie o Minikube:
minikube startIsso inicializa um cluster Kubernetes local. O Minikube atribui automaticamente os recursos apropriados, mas você pode personalizá-los usando flags como
--cpuse--memory, se necessário.Verifique se o Minikube está em execução:
kubectl cluster-infoCertifique-se de que a saída confirme que o cluster está operacional.
Criar um Deployment (Implantação)
Depois que o cluster estiver em execução, crie um deployment Kubernetes simples chamado hello-world usando a imagem nginx.
Execute o seguinte comando para criar o deployment:
kubectl create deployment hello-world --image=nginxEste comando cria um deployment chamado
hello-worldcom uma réplica do contêinernginx.Verifique se o deployment foi criado com sucesso:
kubectl get deploymentsVerifique a saída para garantir que
hello-worldapareça na lista de deployments.
Explorar o Comando kubectl set
O comando kubectl set fornece múltiplos subcomandos para configurar e modificar recursos de aplicação. Ele ajuda a gerenciar aspectos específicos como variáveis de ambiente, imagens de contêiner e configurações de recursos.
Execute o seguinte comando para visualizar os subcomandos
kubectl setdisponíveis:kubectl set -hVocê verá a seguinte saída:
Configure application resources. These commands help you make changes to existing application resources. Available Commands: env Update environment variables on a pod template image Update the image of a pod template resources Update resource requests/limits on objects with pod templates selector Set the selector on a resource serviceaccount Update the service account of a resource subject Update the user, group, or service account in a role binding or cluster role binding Usage: kubectl set SUBCOMMAND [options] Use "kubectl --help" for more information about a given command. Use "kubectl options" for a list of global command-line options (applies to all commands).Revise os subcomandos disponíveis e suas descrições para entender como o
kubectl setpode ser usado.Use
kubectl set --helppara explorar detalhes adicionais sobre cada subcomando, conforme necessário.
Atualizar a Imagem do Contêiner
Em seguida, atualize a imagem do contêiner no deployment hello-world para uma versão específica.
Use o comando
kubectl setpara atualizar a imagem do contêiner paranginx:1.19.10:kubectl set image deployment/hello-world nginx=nginx:1.19.10Este comando atualiza o contêiner
nginxno deploymenthello-world.Verifique a atualização da imagem consultando a imagem do contêiner:
kubectl get deployment hello-world -o jsonpath='{.spec.template.spec.containers[0].image}'Certifique-se de que a saída mostre
nginx:1.19.10.
Configurar Requisições e Limites de Recursos
O gerenciamento de recursos é essencial para os deployments do Kubernetes. Defina as requisições e limites de recursos para o deployment hello-world.
Configure as requisições e limites de CPU e memória:
kubectl set resources deployment/hello-world --limits=cpu=1,memory=512Mi --requests=cpu=500m,memory=256MiEste comando define as requisições de recursos para
500mde CPU e256Mide memória e os limites para1CPU e512Mide memória.Verifique as configurações de recursos descrevendo o deployment:
kubectl describe deployment hello-worldVerifique as seções
LimitseRequestsna saída para confirmar a configuração.
Modificar Labels no Deployment
Labels (rótulos) ajudam a categorizar e organizar recursos do Kubernetes. Use o comando kubectl label para adicionar ou modificar labels no deployment.
Adicione um label
environment=developmentao deploymenthello-world:kubectl label deployment hello-world environment=developmentEste comando adiciona um novo label ao deployment.
Verifique se o label foi aplicado:
kubectl get deployment hello-world --show-labelsVerifique a coluna
LABELSpara o labelenvironment=development.
Atualizar Anotações no Deployment
Anotações (annotations) fornecem metadados aos recursos do Kubernetes. Use o comando kubectl annotate para adicionar ou atualizar anotações no deployment.
Adicione uma anotação
owner=team-alphaao deploymenthello-world:kubectl annotate deployment hello-world owner=team-alphaEste comando adiciona uma anotação ao deployment.
Verifique se a anotação foi aplicada:
kubectl describe deployment hello-worldVerifique a seção
Annotationsparaowner=team-alpha.
Resumo
Neste laboratório, você aprendeu como usar o comando set do Kubernetes para gerenciar deployments de forma eficaz. Você:
- Iniciou um cluster Kubernetes.
- Criou um deployment.
- Atualizou a imagem do contêiner.
- Configurou as requisições e limites de recursos.
- Modificou rótulos (labels) e anotações (annotations) usando os comandos apropriados.
Essas habilidades são essenciais para gerenciar aplicações Kubernetes de forma eficiente.


