Sobes.tech
Middle

Quais são as diferenças na atualização de pods entre o deployment e o ReplicaSet?

sobes.tech IA

Resposta da IA

A implantação no Kubernetes gerencia um ReplicaSet, que por sua vez gerencia os pods. Ao atualizar os pods:

  • ReplicaSet por si só não suporta uma estratégia de atualização. Se você alterar o modelo do pod no ReplicaSet, o Kubernetes não atualizará os pods existentes, mas criará um novo ReplicaSet com os novos pods, e o antigo ReplicaSet permanecerá com os pods antigos. Isso leva à necessidade de remover manualmente os pods antigos ou o ReplicaSet.

  • Deployment implementa uma estratégia de atualização (Rolling Update por padrão). Ao atualizar um Deployment, ele cria um novo ReplicaSet com o modelo de pod atualizado e substitui gradualmente os pods antigos pelos novos, mantendo a quantidade configurada de pods disponíveis e minimizando o tempo de inatividade da aplicação.

Portanto, a principal diferença na atualização de pods:

  • ReplicaSet não atualiza os pods automaticamente, apenas cria um novo ReplicaSet ao alterar o modelo.
  • Deployment garante uma atualização suave dos pods com controle de disponibilidade e reversão em caso de erros.

Exemplo de estratégia de atualização no Deployment:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxUnavailable: 1
    maxSurge: 1