Introdução
Neste laboratório, você aprenderá como escalar e gerenciar Pods com Deployments no Kubernetes. Deployments são uma abstração de nível superior que permite gerenciar e escalar declarativamente conjuntos de réplicas de Pods. Ao usar Deployments, você pode facilmente atualizar sua aplicação para uma nova versão, reverter para uma versão anterior e escalar sua aplicação para cima ou para baixo para atender à demanda em constante mudança.
Iniciar o Cluster Minikube
Antes de criar recursos, você precisa de um cluster Kubernetes em execução. Minikube é um ambiente Kubernetes leve que roda em sua máquina local.
Navegue para o seu diretório de trabalho:
Abra o terminal e navegue até a pasta do projeto padrão:
cd /home/labex/projectIniciar Minikube:
Inicie o Minikube para inicializar um cluster Kubernetes:
minikube start- Este comando configura um cluster Kubernetes de nó único em sua máquina local.
- O Minikube pode levar alguns minutos para iniciar, dependendo do desempenho do seu sistema.
Verificar se o Minikube está em execução:
Verifique o status do cluster Minikube:
minikube status- Procure por componentes como
kubeleteapiserverlistados comoRunning. - Se o cluster não estiver em execução, execute novamente
minikube start.
- Procure por componentes como
Se você encontrar problemas ao iniciar o Minikube. Use minikube delete para redefinir o ambiente, se necessário.
Criar um Deployment
- Crie um arquivo chamado
my-deployment.yamlem/home/labex/project/com o seguinte conteúdo:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:latest
ports:
- containerPort: 80
Este arquivo YAML define um Deployment com 3 réplicas, executando um container Nginx. O campo selector seleciona os Pods controlados pelo Deployment com base no rótulo app.
- Implantar o Deployment
my-deployment:
kubectl apply -f my-deployment.yaml
Isso criará o Deployment my-deployment e seus ReplicaSets e Pods associados.
- Verifique se o Deployment foi criado:
kubectl get deployments
Isso mostrará os Deployments em seu cluster, incluindo o Deployment my-deployment.
Escalar o Deployment
- Aumente o número de réplicas do Deployment
my-deploymentpara 5:
kubectl scale deployment my-deployment --replicas=5
Isso aumentará o número de réplicas no Deployment my-deployment para 5.
- Verifique se o Deployment foi dimensionado:
kubectl get deployments
Isso mostrará os Deployments em seu cluster, incluindo o Deployment my-deployment com 5 réplicas.
Atualizar o Deployment
- Edite o Deployment
my-deploymentpara usar a imagemnginx:1.19:
kubectl edit deployment my-deployment
Isso abrirá o Deployment no seu editor de texto padrão. Altere o campo image para nginx:1.19 e salve o arquivo.
- Verifique se o Deployment foi atualizado:
kubectl rollout status deployment/my-deployment
Isso mostrará o status do último rollout do Deployment my-deployment.
Reverter o Deployment
- Reverter o Deployment
my-deploymentpara a versão anterior:
kubectl rollout undo deployment/my-deployment
Isso reverterá o Deployment my-deployment para a versão anterior.
- Verifique se o Deployment foi revertido:
kubectl rollout status deployment/my-deployment
Isso mostrará o status do último rollout do Deployment my-deployment.
Limpeza
- Excluir o Deployment
my-deployment:
kubectl delete deployment my-deployment
Isso excluirá o Deployment my-deployment e seus ReplicaSets e Pods associados.
Resumo
Neste laboratório, você aprendeu como criar e gerenciar Deployments no Kubernetes. Você criou um Deployment com 3 réplicas, escalou o Deployment para 5 réplicas, atualizou o Deployment para usar uma imagem diferente, e fez o rollback do Deployment para a versão anterior.


