# 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.

[![Imagem: Diagrama de um cluster com Kubernetes nodes](https://www.ionos.com/pt-br/digitalguide/fileadmin/_processed_/d/f/csm_nodes-kubernetes-em-cluster_7fb8e6356b.webp "Diagrama de um cluster com Kubernetes nodes")](https://www.ionos.com/pt-br/digitalguide/fileadmin/DigitalGuide/Schaubilder/nodes-kubernetes-em-cluster.png) Diagrama de um cluster do Kubernetes ## 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.

Dica Com a solução [Managed Kubernetes](https://cloud.ionos.com/managed/kubernetes "Managed Kubernetes — IONOS") 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 *namespace* `kube-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](https://www.ionos.com/digitalguide/server/configuration/kubernetes-tutorial/ "Tutorial Kubernetes") do nosso Digital Guide explicamos como configurar o seu próprio cluster no Kubernetes.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/kubernetes-nodes/](https://www.ionos.com/pt-br/digitalguide/servidor/configuracao/kubernetes-nodes/) for AI/LLM consumption.