Escalando e Gerenciando Pods com Deployments

KubernetesBeginner
Pratique Agora

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.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 96%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

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.

  1. Navegue para o seu diretório de trabalho:

    Abra o terminal e navegue até a pasta do projeto padrão:

    cd /home/labex/project
  2. Iniciar 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.
  3. Verificar se o Minikube está em execução:

    Verifique o status do cluster Minikube:

    minikube status
    • Procure por componentes como kubelet e apiserver listados como Running.
    • Se o cluster não estiver em execução, execute novamente minikube start.

Se você encontrar problemas ao iniciar o Minikube. Use minikube delete para redefinir o ambiente, se necessário.

Criar um Deployment

  1. Crie um arquivo chamado my-deployment.yaml em /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.

  1. Implantar o Deployment my-deployment:
kubectl apply -f my-deployment.yaml

Isso criará o Deployment my-deployment e seus ReplicaSets e Pods associados.

  1. Verifique se o Deployment foi criado:
kubectl get deployments

Isso mostrará os Deployments em seu cluster, incluindo o Deployment my-deployment.

Escalar o Deployment

  1. Aumente o número de réplicas do Deployment my-deployment para 5:
kubectl scale deployment my-deployment --replicas=5

Isso aumentará o número de réplicas no Deployment my-deployment para 5.

  1. 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

  1. Edite o Deployment my-deployment para usar a imagem nginx: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.

  1. 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

  1. Reverter o Deployment my-deployment para a versão anterior:
kubectl rollout undo deployment/my-deployment

Isso reverterá o Deployment my-deployment para a versão anterior.

  1. Verifique se o Deployment foi revertido:
kubectl rollout status deployment/my-deployment

Isso mostrará o status do último rollout do Deployment my-deployment.

Limpeza

  1. 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.