0Pricing
DevOps Bootcamp · Aula

Implantações para aplicações sem estado

Use implantações para gerenciar aplicações sem estado, habilitando atualizações contínuas e reversões.

Implantações para aplicações sem estado é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Conheça as implantações do Kubernetes

Bem-vindo a um conceito fundamental do Kubernetes: as Implantações! Elas são o recurso ideal para gerenciar aplicações sem estado.

Pense em uma implantação como um modelo da sua aplicação. Ela informa ao Kubernetes quantas cópias (réplicas) da sua aplicação você quer manter em execução e como atualizá-las sem indisponibilidade.

Implantações para aplicações sem estado — ilustração 1

Além dos Pods e ReplicaSets

Você aprendeu sobre Pods (a menor unidade) e ReplicaSets (que garantem uma determinada quantidade de Pods).

Uma implantação é construída sobre um ReplicaSet. Ela oferece uma abstração de nível mais alto para:

  • Criar e atualizar ReplicaSets.
  • Distribuir novas versões da sua aplicação.
  • Reverter para versões anteriores caso algo dê errado.

Isso torna o gerenciamento das suas aplicações muito mais fácil e seguro.

Dentro do YAML de uma implantação

Assim como outros recursos do Kubernetes, as implantações são definidas usando YAML. Veja a estrutura básica:

  • apiVersion: especifica a versão da API do Kubernetes (por exemplo, apps/v1).
  • kind: sempre Deployment para um recurso de implantação.
  • metadata: contém informações como o name da implantação e labels opcionais.

Esses campos ajudam o Kubernetes a identificar e organizar suas implantações.

Especificando réplicas e modelo

O núcleo de uma implantação é a seção spec. Nela, você define:

  • replicas: a quantidade desejada de Pods idênticos para sua aplicação.
  • selector: como a implantação encontra os Pods que gerencia (usando rótulos).
  • template: essencialmente uma definição de Pod, que descreve os contêineres, volumes etc. de cada Pod.

É o template que a implantação usa para criar novos Pods.

Nossa implantação do Nginx

Veja um manifesto simples de implantação para um servidor web Nginx. Ele instrui o Kubernetes a manter 3 Pods do Nginx em execução.

Tente entender cada parte!

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

Criando sua implantação

Depois de ter o arquivo YAML da sua implantação (por exemplo, nginx-deployment.yaml), você pode criar a implantação no seu cluster do Kubernetes usando o comando kubectl apply.

Em seguida, o Kubernetes garantirá que a quantidade desejada de Pods seja criada e mantida.

kubectl apply -f nginx-deployment.yaml

Você pode verificar o status com:

kubectl get deployments

Aumentando e reduzindo a escala

Precisa de mais ou menos instâncias da sua aplicação? As implantações facilitam o escalonamento! Você pode ajustar o campo replicas no YAML e aplicá-lo novamente ou usar um comando direto:

kubectl scale deployment nginx-deployment --replicas=5

Esse comando instruirá imediatamente sua implantação a criar mais 2 Pods do Nginx, elevando o total para 5.

Atualizações sem indisponibilidade

Um dos maiores benefícios das implantações é a capacidade de realizar atualizações graduais. Quando você atualiza o modelo do Pod (por exemplo, alterando a versão da imagem), o Kubernetes não encerra todos os Pods antigos de uma só vez.

Em vez disso, ele substitui gradualmente os Pods antigos por novos, garantindo que sua aplicação permaneça disponível durante todo o processo de atualização.

kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1

Reverter com facilidade

Cometeu um erro em uma atualização? Não se preocupe! As implantações mantêm um histórico das suas revisões, permitindo reverter facilmente para uma versão anterior e estável.

Isso é chamado de reversão e funciona como uma rede de segurança essencial para as implantações.

kubectl rollout undo deployment/nginx-deployment

Você também pode verificar o histórico com kubectl rollout history deployment/nginx-deployment.

Hora do questionário sobre implantações

Um desenvolvedor atualiza uma implantação do Nginx, passando da imagem nginx:1.14.2 para nginx:1.16.1. Qual é o principal benefício de usar uma implantação do Kubernetes para essa atualização?

Implantações: principais aprendizados

Parabéns! Você aprendeu sobre as implantações do Kubernetes, um recurso poderoso para gerenciar suas aplicações sem estado.

  • As implantações gerenciam ReplicaSets, que, por sua vez, gerenciam pods.
  • Elas definem o estado desejado, incluindo o número de replicas.
  • Os principais recursos incluem escalabilidade fácil, atualizações graduais sem tempo de inatividade e reversões simples para versões anteriores.

Em seguida, exploraremos os Serviços para expor suas aplicações!

Perguntas Frequentes

A aula “Implantações para aplicações sem estado” é grátis?

Sim — o texto completo de “Implantações para aplicações sem estado” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Implantações para aplicações sem estado”?

Use implantações para gerenciar aplicações sem estado, habilitando atualizações contínuas e reversões. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Implantações para aplicações sem estado”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Implantações para aplicações sem estado
  2. Serviços para acesso à rede
  3. ConfigMaps e Secrets
  4. Ingress e roteamento externo
← Voltar para DevOps Bootcamp