0Pricing
Kubernetes Basics · Aula

Dimensionamento de aplicações com ReplicaSets

Use ReplicaSets para garantir que um número especificado de pods idênticos esteja sempre em execução.

Dimensionamento de aplicações com ReplicaSets é uma aula grátis de Kubernetes Basics no CoddyKit. Esta é a aula 2 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 Kubernetes Basics, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kubernetes Basics inclui 4 aulas no total.

Por que o dimensionamento é importante

No mundo dos aplicativos nativos da nuvem, o dimensionamento é essencial. Ele garante que seus aplicativos consigam lidar com cargas de trabalho variáveis e permaneçam disponíveis mesmo quando componentes falham.

Dimensionamento significa ajustar o número de instâncias do aplicativo em execução para atender à demanda. Se forem poucas, seu aplicativo ficará lento ou sem resposta. Se forem muitas, você desperdiçará recursos.

Conheça o ReplicaSet

Um ReplicaSet é um objeto central do Kubernetes cuja principal função é manter um conjunto estável de Pods em execução a qualquer momento.

Pense nele como um guardião dos seus Pods. Ele garante que o número de Pods idênticos que você deseja seja sempre igual ao número que está realmente em execução.

A missão principal do ReplicaSet

O principal objetivo do ReplicaSet é garantir a disponibilidade de um número especificado de Pods idênticos.

  • Se um Pod falhar, por exemplo, devido a uma falha no nó, o ReplicaSet criará automaticamente um novo.
  • Se um processo externo criar Pods demais, o ReplicaSet encerrará os excedentes.
  • Essa capacidade de autorrecuperação é essencial para a confiabilidade do aplicativo.

Estrutura YAML do ReplicaSet

Assim como outros objetos do Kubernetes, um ReplicaSet é definido usando um arquivo YAML. Veja sua estrutura básica:

  • apiVersion: define a versão da API do Kubernetes, por exemplo, apps/v1.
  • kind: especifica o tipo de objeto, que é ReplicaSet.
  • metadata: contém informações de identificação, como o name.
  • spec: descreve o estado desejado do ReplicaSet.

Estado desejado: réplicas e seletor

Dentro da seção spec, dois campos essenciais são replicas e selector:

  • replicas: é um número que indica quantos Pods idênticos você deseja manter em execução.
  • selector: define como o ReplicaSet encontra e gerencia os Pods. Ele usa rótulos para identificar os Pods correspondentes. Somente os Pods que corresponderem a esses rótulos serão considerados parte deste ReplicaSet.

O modelo do Pod

O campo spec.template fornece o modelo dos Pods que o ReplicaSet criará. Essencialmente, ele é uma definição padrão de Pod.

Esse modelo inclui os metadados do Pod, como rótulos, e sua especificação, como imagens de contêineres, portas etc. Os rótulos no modelo devem corresponder a spec.selector!

Definindo um ReplicaSet simples

Vamos definir um ReplicaSet que garanta que 2 Pods de um servidor web Nginx estejam sempre em execução. Observe como os rótulos do modelo do Pod (app: nginx) correspondem ao seletor.

apiVersion: apps/v1
kind: ReplicaSet
metadata:
  name: nginx-replicaset
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        ports:
        - containerPort: 80

Criando e verificando o status

Para criar este ReplicaSet, salve o YAML como nginx-rs.yaml e aplique-o. Em seguida, verifique o status dele e dos Pods que ele gerencia:

kubectl apply -f nginx-rs.yaml
kubectl get rs
kubectl get pods -l app=nginx

Aumentando e reduzindo a escala

Você pode alterar dinamicamente o número de Pods desejados de um ReplicaSet usando o comando kubectl scale. Vamos aumentar a escala do nosso ReplicaSet do Nginx para 4 Pods:

kubectl scale --replicas=4 rs/nginx-replicaset
kubectl get rs
kubectl get pods -l app=nginx

Observando o dimensionamento

Quando você altera a escala de um ReplicaSet, o Kubernetes cria ou exclui Pods automaticamente para corresponder à nova quantidade de replicas. Você pode acompanhar isso em tempo real:

kubectl scale --replicas=1 rs/nginx-replicaset
kubectl get pods -l app=nginx -w

Desafio de dimensionamento

Você tem um ReplicaSet chamado my-app-rs que atualmente executa 3 Pods. Você deseja aumentar esse número para 5 Pods. Qual comando kubectl você usaria?

Recapitulação e próximos passos

Você aprendeu que os ReplicaSets são essenciais para manter um número desejado de Pods idênticos, fornecendo autorrecuperação e alta disponibilidade para seus aplicativos. Você pode defini-los em YAML e alterar sua escala usando kubectl scale.

Embora os ReplicaSets sejam poderosos, na prática você usará com frequência as implantações, que gerenciam ReplicaSets para você e oferecem recursos mais avançados, como atualizações graduais. A seguir, exploraremos as implantações!

Perguntas Frequentes

A aula “Dimensionamento de aplicações com ReplicaSets” é grátis?

Sim — o texto completo de “Dimensionamento de aplicações com ReplicaSets” é 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 Kubernetes Basics, atualize para CoddyKit PRO. O curso de Kubernetes Basics inclui 4 aulas no total.

O que vou aprender em “Dimensionamento de aplicações com ReplicaSets”?

Use ReplicaSets para garantir que um número especificado de pods idênticos esteja sempre em execução. Você pratica Kubernetes Basics 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 Kubernetes Basics?

Nenhuma experiência prévia é necessária. Kubernetes Basics 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 2 de 4.

Quanto tempo leva a aula “Dimensionamento de aplicações com ReplicaSets”?

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 Kubernetes Basics?

Sim. Cada aula de Kubernetes Basics 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. Entendendo as implantações
  2. Dimensionamento de aplicações com ReplicaSets
  3. Atualizações contínuas e reversões
  4. Estratégias de implantação: azul-verde e canário
← Voltar para Kubernetes Basics