Ku­ber­ne­tes node é um nó de trabalho único em um cluster do Ku­ber­ne­tes formado por com­po­nen­tes de in­fra­es­tru­tura nos quais as cargas de trabalho de contêiner (pods) são exe­cu­ta­das. Os nodes são res­pon­sá­veis por oferecer os recursos ne­ces­sá­rios, como poder com­pu­ta­ci­o­nal e memória.

Definição de Ku­ber­ne­tes node

Nodes (ou nós) são blocos de cons­tru­ção es­sen­ci­ais em um cluster do Ku­ber­ne­tes. Cada node re­pre­senta uma máquina física ou virtual e oferece recursos como CPU, memória e espaço de ar­ma­ze­na­mento. Um node atua jun­ta­mente com o host e gerencia cargas de trabalho de um contêiner. Os nodes de­sem­pe­nham tarefas como ini­ci­a­li­za­ção, mo­ni­to­ra­mento e es­ca­lo­na­mento de con­têi­ne­res para assegurar que as apli­ca­ções rodem com es­ta­bi­li­dade.

Ku­ber­ne­tes nodes são es­ca­lá­veis e flexíveis, pois podem ser adi­ci­o­na­dos ou removidos conforme ne­ces­sá­rio. Eles con­tri­buem com a uti­li­za­ção eficiente de recursos e se adaptam di­na­mi­ca­mente aos re­qui­si­tos dos apli­ca­ti­vos em execução. Além disso, a dis­tri­bui­ção de nodes em di­fe­ren­tes ser­vi­do­res contribui com a re­si­li­ên­cia do cluster. Sua com­bi­na­ção in­te­li­gente com Ku­ber­ne­tes Re­pli­ca­Sets e Ku­ber­ne­tes Da­e­mon­Sets permite gerenciar apli­ca­ções em contêiner de forma segura e fa­ci­li­tada.

Imagem: Diagrama de um cluster com Kubernetes nodes
Diagrama de um cluster do Ku­ber­ne­tes

Status do node

O status do node apresenta in­for­ma­ções sobre a situação de um nó de trabalho no cluster do Ku­ber­ne­tes. Os dados revelam se o node está fun­ci­o­nando ade­qua­da­mente e é capaz de hospedar pods.

  • Addresses (Endereços): Os endereços de um node trazem insights sobre sua aces­si­bi­li­dade na rede. Isso inclui endereços IP, nomes de host e portas. Um node pode ter diversos endereços, que são es­sen­ci­ais para a co­mu­ni­ca­ção dentro do cluster.
  • Con­di­ti­ons (Condições): As condições refletem a in­te­gri­dade do Ku­ber­ne­tes node. Condições comuns incluem Ready (pronto), OutOfDisk (falta de espaço), Me­mory­Pres­sure (pressão da memória) e Disk­Pres­sure (pressão do disco rígido). Essas mensagens indicam se os nodes estão ope­ra­ci­o­nais ou se faltam recursos.
  • Capacity (Ca­pa­ci­dade): A ca­pa­ci­dade de um node refere-se aos recursos dis­po­ní­veis, como CPU, RAM e espaço em disco rígido. Essas in­for­ma­ções são im­por­tan­tes para entender o nível de carga de trabalho que um node é capaz de atender. O Ku­ber­ne­tes usa esses dados para decidir onde po­si­ci­o­nar os con­têi­ne­res com base nos re­qui­si­tos de recursos.
  • Info (In­for­ma­ções): A seção de in­for­ma­ções contém detalhes adi­ci­o­nais sobre o node. Por exemplo, o sistema ope­ra­ci­o­nal, a versão do kernel ou kubelet e outros metadados.
Dica

Com a solução Managed Ku­ber­ne­tes da IONOS, você faz a or­ques­tra­ção de apli­ca­ções em con­têi­ne­res com fa­ci­li­dade em ambientes de produção dis­tri­buída. Aproveite a segurança, trans­pa­rên­cia e controle durante a operação, tudo isso com esforço ad­mi­nis­tra­tivo mínimo.

Node heartbeat

He­art­be­ats enviam in­for­ma­ções de status pe­ri­o­di­ca­mente ao master do Ku­ber­ne­tes. Essas atu­a­li­za­ções são usadas para informar ao master que o node ainda está dis­po­ní­vel e pronto para uso.

No contexto do Ku­ber­ne­tes, existem duas formas de he­art­be­ats para nodes:

  • Atu­a­li­za­ções de .status de um node: Atu­a­li­za­ções de status que um node envia ao master do Ku­ber­ne­tes. O status contém in­for­ma­ções sobre a dis­po­ni­bi­li­dade 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 é, es­sen­ci­al­mente, um tipo de acordo enviado do node para o master. Esse lease confirma que o node segue ativo e usando recursos no cluster.

Ge­ren­ci­a­mento do Ku­ber­ne­tes node

Os três com­po­nen­tes prin­ci­pais que compõem o ge­ren­ci­a­mento do node em um cluster do Ku­ber­ne­tes são o con­tro­la­dor de nodes, o kubelet e a fer­ra­menta de linha de comando kubectl.

Con­tro­la­dor de nodes

O con­tro­la­dor de nodes é um com­po­nente central do Ku­ber­ne­tes res­pon­sá­vel pelo ge­ren­ci­a­mento de nodes. Ele monitora os he­art­be­ats na forma de atu­a­li­za­ções de status e objetos lease, a fim de garantir que os nodes sejam exe­cu­ta­dos nor­mal­mente. Se o con­tro­la­dor 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 dis­po­ní­veis. Portanto, o con­tro­la­dor de nodes de­sem­pe­nha um papel fun­da­men­tal na ma­nu­ten­ção da dis­po­ni­bi­li­dade e in­te­gri­dade de pools de nodes no cluster do Ku­ber­ne­tes.

Kubectl

kubectl é uma fer­ra­menta de linha de comando que pos­si­bi­lita que os usuários interajam com um cluster do Ku­ber­ne­tes. Com kubectl, você envia comandos ao master do Ku­ber­ne­tes para criar, monitorar, atualizar e excluir recursos no cluster. Essa fer­ra­menta é versátil e permite gerenciar De­ploy­ments, serviços, pods, Con­fig­Maps e outros objetos do Ku­ber­ne­tes.

Kubelet

O kubelet está presente em todos os Ku­ber­ne­tes nodes no cluster e é res­pon­sá­vel pela co­mu­ni­ca­ção entre o node e o master. A principal tarefa do kubelet é garantir que os pods do contêiner sejam iniciados, mo­ni­to­ra­dos e en­cer­ra­dos de acordo com as ins­tru­ções do master do Ku­ber­ne­tes.

No tutorial de Ku­ber­ne­tes do nosso Digital Guide ex­pli­ca­mos como con­fi­gu­rar o seu próprio cluster no Ku­ber­ne­tes.

Managed Ku­ber­ne­tes da IONOS
O jeito mais simples de gerenciar cargas de trabalho em con­têi­ne­res.

Ins­ta­la­ção de clusters Ku­ber­ne­tes to­tal­mente au­to­ma­ti­zada, vi­si­bi­li­dade máxima e controle de clusters K8s.

Ir para o menu principal