K8s em Exemplos: Componentes do Node
| Worker nodes executam suas cargas de trabalho. Cada node possui: kubelet (ciclo de vida do Pod), kube-proxy (rede), e container runtime (executa containers). Os nodes se registram no control plane e recebem trabalho via API Server. |
| node-architecture.txt | |
| O kubelet gerencia Pods, o kube-proxy lida com regras de rede, e o container runtime executa os containers. | |
| terminal | |
| O kubelet é o agente do node. Ele observa Pods atribuídos ao seu node, inicia containers, executa probes e reporta status. Ele não gerencia containers não-Kubernetes. | |
| terminal | |
| Visualize logs do kubelet para troubleshooting. O arquivo de configuração em | |
| terminal | |
| O kubelet se comunica com o container runtime via CRI (Container Runtime Interface). containerd e CRI-O são os principais runtimes de produção. | |
| terminal | |
| Use | |
| terminal | |
| O kube-proxy implementa a rede de Services. Ele observa Services e Endpoints, então configura regras iptables ou IPVS para rotear tráfego para Pods. | |
| terminal | |
| O modo padrão é iptables - cria regras NAT para cada Service. O modo IPVS é melhor para clusters grandes com muitos Services. | |
| terminal | |
| O status do node é reportado pelo kubelet. Conditions mostram a saúde: Ready, MemoryPressure, DiskPressure, PIDPressure. Todas exceto Ready devem ser False. | |
| terminal | |
| Allocatable mostra recursos disponíveis para Pods após overhead do sistema. Parte da capacidade é reservada para processos do sistema. | |
| terminal | |
| O registro do node adiciona labels automáticas: hostname, OS, arch, zone. Cloud controllers adicionam labels de instance-type e região. | |
| terminal | |
| Cordon marca um node como não-agendável. Novos Pods não serão alocados nele, mas Pods existentes continuam rodando. | |
| terminal | |
| Drain despeja todos os Pods de um node, respeitando PodDisruptionBudgets. Use para manutenção, upgrades ou descomissionamento. | |
| terminal | |
| Uncordon retorna um node ao serviço, permitindo que novos Pods sejam agendados nele. | |
| terminal | |
| Debugue problemas de nodes verificando uso de recursos, logs do kubelet e status do container runtime. | |
| terminal | |
| Use | |