O que e um node no Kubernetes? As maquinas que rodam pods
Um node e uma maquina worker - fisica ou virtual - em um cluster Kubernetes que roda seus pods, gerenciada pelo kubelet e um container runtime.
O Kubernetes agrupa muitas maquinas em um cluster, e cada uma dessas maquinas e um node. O control plane decide o que deve rodar; os nodes sao onde de fato roda. Entender os componentes do node esclarece como um pod vai de um manifest YAML a um continer em execucao.
O que roda em um node
- kubelet - o agente que inicia e supervisiona pods.
- Um container runtime (containerd, CRI-O) que roda contineres.
- kube-proxy - trata a rede de Services no node.
- Seus pods de workload reais.
O kubelet
O kubelet pega as pod specs atribuidas ao seu node, pede ao container runtime para iniciar os contineres e reporta continuamente a saude deles de volta ao control plane. Ele e o gerente de campo do node.
Agendando nos nodes
O scheduler decide em qual node um novo pod cai, pesando resource requests, taints e tolerations e regras de affinity. Um pod sem node adequado permanece Pending ate que surja capacidade.
Saude do node e autoscaling
Se um node falha, seus pods sao reagendados em outro lugar. Um cluster autoscaler pode adicionar nodes quando os pods nao podem ser posicionados e remover os ociosos para economizar custo.
O paralelo com a CI
Um node esta para um cluster assim como um runner esta para a CI: a maquina que faz o trabalho. Gerenciar uma frota de runners - provisionar, escalar, recuperar - espelha o gerenciamento de nodes, e plataformas de runner gerenciadas cuidam disso para voce.
Principais conclusões
- Um node e uma maquina worker que roda pods via o kubelet e um container runtime.
- O scheduler posiciona pods nos nodes com base em recursos e restricoes.
- Nodes com falha tem seus pods reagendados; autoscalers adicionam ou removem nodes.