Sobes.tech
Middle

O que é um conjunto de réplicas e um deployment?

sobes.tech IA

Resposta da IA

O ReplicaSet garante um número específico de pods idênticos a funcionar no cluster. Monitora o estado dos pods e substitui automaticamente aqueles que falharam ou pararam de funcionar.

O Deployment é fornecido sobre o ReplicaSet. Gerencia atualizações e retrocessos de aplicações, mantendo um histórico de versões do deployment. Permite realizar atualizações usando a estratégia de rolling update ou recreate.

# Exemplo de manifesto de Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3 # Define o número desejado de pods (através do ReplicaSet)
  selector:
    matchLabels:
      app: nginx
  strategy:
    type: RollingUpdate # Estratégia de atualização
    rollingUpdate:
      maxUnavailable: 1
      maxSurge: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2 # Versão da imagem que será atualizada
        ports:
        - containerPort: 80

Neste exemplo, o Deployment criará um ReplicaSet que manterá 3 pods com a imagem nginx:1.14.2. Ao alterar a versão da imagem no manifesto do Deployment, ele criará um novo ReplicaSet para a nova versão e gradualmente direcionará o tráfego para ele, removendo os pods antigos de acordo com a estratégia de RollingUpdate.

Tabela de comparação:

Oportunidade ReplicaSet Deployment
Garantia do número de pods
Atualização de aplicações
Reversão de versões
Gestão do histórico