O que é Kubernetes node?
Kubernetes node é um nó de trabalho único em um cluster do Kubernetes formado por componentes de infraestrutura nos quais as cargas de trabalho de contêiner (pods) são executadas. Os nodes são responsáveis por oferecer os recursos necessários, como poder computacional e memória.
Definição de Kubernetes node
Nodes (ou nós) são blocos de construção essenciais em um cluster do Kubernetes. Cada node representa uma máquina física ou virtual e oferece recursos como CPU, memória e espaço de armazenamento. Um node atua juntamente com o host e gerencia cargas de trabalho de um contêiner. Os nodes desempenham tarefas como inicialização, monitoramento e escalonamento de contêineres para assegurar que as aplicações rodem com estabilidade.
Kubernetes nodes são escaláveis e flexíveis, pois podem ser adicionados ou removidos conforme necessário. Eles contribuem com a utilização eficiente de recursos e se adaptam dinamicamente aos requisitos dos aplicativos em execução. Além disso, a distribuição de nodes em diferentes servidores contribui com a resiliência do cluster. Sua combinação inteligente com Kubernetes ReplicaSets e Kubernetes DaemonSets permite gerenciar aplicações em contêiner de forma segura e facilitada.

Status do node
O status do node apresenta informações sobre a situação de um nó de trabalho no cluster do Kubernetes. Os dados revelam se o node está funcionando adequadamente e é capaz de hospedar pods.
- Addresses (Endereços): Os endereços de um node trazem insights sobre sua acessibilidade na rede. Isso inclui endereços IP, nomes de host e portas. Um node pode ter diversos endereços, que são essenciais para a comunicação dentro do cluster.
- Conditions (Condições): As condições refletem a integridade do Kubernetes node. Condições comuns incluem Ready (pronto), OutOfDisk (falta de espaço), MemoryPressure (pressão da memória) e DiskPressure (pressão do disco rígido). Essas mensagens indicam se os nodes estão operacionais ou se faltam recursos.
- Capacity (Capacidade): A capacidade de um node refere-se aos recursos disponíveis, como CPU, RAM e espaço em disco rígido. Essas informações são importantes para entender o nível de carga de trabalho que um node é capaz de atender. O Kubernetes usa esses dados para decidir onde posicionar os contêineres com base nos requisitos de recursos.
- Info (Informações): A seção de informações contém detalhes adicionais sobre o node. Por exemplo, o sistema operacional, a versão do kernel ou kubelet e outros metadados.
Com a solução Managed Kubernetes da IONOS, você faz a orquestração de aplicações em contêineres com facilidade em ambientes de produção distribuída. Aproveite a segurança, transparência e controle durante a operação, tudo isso com esforço administrativo mínimo.
Node heartbeat
Heartbeats enviam informações de status periodicamente ao master do Kubernetes. Essas atualizações são usadas para informar ao master que o node ainda está disponível e pronto para uso.
No contexto do Kubernetes, existem duas formas de heartbeats para nodes:
- Atualizações de
.status
de um node: Atualizações de status que um node envia ao master do Kubernetes. O status contém informações sobre a disponibilidade e o estado do node. - Objeto lease no namespace
kube-node-lease
: Cada node é vinculado a um objeto lease no namespacekube-node-lease
. Um objeto lease é, essencialmente, um tipo de acordo enviado do node para o master. Esse lease confirma que o node segue ativo e usando recursos no cluster.
Gerenciamento do Kubernetes node
Os três componentes principais que compõem o gerenciamento do node em um cluster do Kubernetes são o controlador de nodes, o kubelet e a ferramenta de linha de comando kubectl
.
Controlador de nodes
O controlador de nodes é um componente central do Kubernetes responsável pelo gerenciamento de nodes. Ele monitora os heartbeats na forma de atualizações de status e objetos lease, a fim de garantir que os nodes sejam executados normalmente. Se o controlador de nodes detectar que um nó não está mais ativo e nenhum heartbeat está sendo recebido, ele poderá tomar a ação adequada, como reagendar os pods em outros nodes disponíveis. Portanto, o controlador de nodes desempenha um papel fundamental na manutenção da disponibilidade e integridade de pools de nodes no cluster do Kubernetes.
Kubectl
kubectl
é uma ferramenta de linha de comando que possibilita que os usuários interajam com um cluster do Kubernetes. Com kubectl
, você envia comandos ao master do Kubernetes para criar, monitorar, atualizar e excluir recursos no cluster. Essa ferramenta é versátil e permite gerenciar Deployments, serviços, pods, ConfigMaps e outros objetos do Kubernetes.
Kubelet
O kubelet está presente em todos os Kubernetes nodes no cluster e é responsável pela comunicação entre o node e o master. A principal tarefa do kubelet é garantir que os pods do contêiner sejam iniciados, monitorados e encerrados de acordo com as instruções do master do Kubernetes.
No tutorial de Kubernetes do nosso Digital Guide explicamos como configurar o seu próprio cluster no Kubernetes.
Instalação de clusters Kubernetes totalmente automatizada, visibilidade máxima e controle de clusters K8s.