1
resposta

provisionamento em nodes diferentes

Quando estamos criando um deployment, como o kubernetes entende que ele precisa provisiona-lo em nodes diferentes? Entendo que o kube-scheduler irá verificar o melhor node por recurso e/ou pontuação, mas no caso de perda de um node eu não teria indisponibilidade da aplicação? Ou nativamente quando subimos um deployment existe uma regra que aquele deployment precisa ser distribuído entre os nodes?

1 resposta

Olá, Leonardo.

Tudo bem?

Desculpa a demora, estou respondendo esse tópico para tentar ajudar você e outros alunos que estiverem com essa mesma dúvida, e também para organizar o nosso fórum. Valeu :)

Quando você cria um deployment no Kubernetes, o kube-scheduler é responsável por decidir em qual nó (node) o pod será provisionado. O kube-scheduler leva em consideração vários fatores, como recursos disponíveis, pontuação (score) dos nós e políticas de afinidade e anti-afinidade.

Por padrão, o Kubernetes tenta distribuir os pods de um deployment em diferentes nós para garantir alta disponibilidade. Isso significa que, se um nó falhar, os pods serão automaticamente provisionados em outros nós disponíveis.

No entanto, é importante ressaltar que o Kubernetes não garante que os pods de um deployment sejam distribuídos igualmente entre os nós. A distribuição depende dos recursos disponíveis em cada nó e das políticas de agendamento definidas.

Se um nó falhar, o kube-scheduler irá detectar essa falha e provisionar os pods em outros nós disponíveis. Isso garante que sua aplicação continue disponível mesmo em caso de falhas de nós individuais.

Espero ter ajudado! Bons estudos!