Implantar e Atualizar Microsserviço NGINX

KubernetesBeginner
Pratique Agora

Introdução

Neste desafio, você demonstrará suas habilidades em Kubernetes atuando como um engenheiro DevOps júnior em uma startup de tecnologia. Sua missão é atualizar uma aplicação web que utiliza o NGINX como microsserviço, garantindo a menor interrupção possível no serviço. As tarefas envolvem a atualização de um Deployment do Kubernetes para utilizar uma versão de imagem mais recente e a verificação do sucesso da atualização progressiva (rolling update).

Este é um Desafio (Challenge), que difere de um Laboratório Guiado por exigir que você tente concluir a tarefa de forma independente, em vez de apenas seguir passos instrucionais. Desafios costumam ter um nível de dificuldade maior. Se encontrar dificuldades, você pode debater com o Labby ou consultar a solução. Dados históricos mostram que este é um desafio de nível iniciante com uma taxa de aprovação de 100%. Ele recebeu uma taxa de avaliações positivas de 100% dos alunos.

Atualizar o Deployment do NGINX

Como engenheiro DevOps júnior, sua tarefa é atualizar o deployment existente para garantir que o serviço permaneça disponível durante todo o processo.

Pré-requisitos

Antes de começar, certifique-se de que o ambiente está configurado:

minikube start
kubectl apply -f ~/project/k8s-manifests/nginx-deployment.yaml

Verifique o status do deployment:

kubectl get deployments

Tarefas

  1. Atualize o deployment web-app para utilizar a imagem nginx:1.24.0-alpine.
  2. Verifique se a atualização foi realizada com sucesso utilizando a estratégia de rolling update, garantindo que não houve tempo de inatividade (zero downtime).

Requisitos

  • Utilize comandos kubectl para realizar a atualização.
  • Confirme que o deployment continua funcionando sem interrupções durante a atualização.
  • Utilize kubectl rollout status para monitorar o progresso da atualização.
  • Verifique as imagens dos pods para validar a versão atualizada.

Dicas

  • Utilize kubectl edit deployment web-app ou kubectl set image para atualizar a imagem.
  • Monitore o status da implantação com kubectl rollout status.
  • Valide os pods em execução e suas respectivas imagens de container usando kubectl get pods -o jsonpath.
✨ Verificar Solução e Praticar

Resumo

Neste desafio, você demonstrou suas habilidades em Kubernetes ao atualizar o deployment de uma aplicação web NGINX para uma versão de imagem mais recente. Você garantiu a disponibilidade contínua do serviço durante o processo e validou o sucesso da atualização progressiva. Este exercício destaca a importância de manter a alta disponibilidade ao realizar atualizações em ambientes Kubernetes.