Sobes.tech
Middle

O que é a API Node no Kubernetes?

sobes.tech IA

Resposta da IA

A API Node no Kubernetes é um conjunto de objetos API (Node, NodeStatus) que representam informações sobre os nós de computação do cluster. Permite gerir os nós, obter o seu estado atual (recursos, carga, condições) e usar essa informação para colocar pods.

Aspectos-chave:

  • Objeto Node: Representa uma instância de um nó de computação (físico ou virtual) no cluster. Contém metadados, especificação e estado do nó.
    apiVersion: v1
    kind: Node
    metadata:
      name: some-node-name # Nome do nó
    spec:
      # Especificação do nó (pode estar vazia, gerida por controladores)
    status:
      # Estado do nó (preenchido pelo kubelet)
    
  • NodeStatus: Subcampo do objeto Node, contendo informações sobre o estado atual do nó. É atualizado pelo daemon kubelet, que é executado no próprio nó.
    • addresses: Endereços IP do nó (InternalIP, ExternalIP, Hostname).
    • capacity: Quantidade total de recursos disponíveis (CPU, Memória, armazenamento efémero).
    • allocatable: Quantidade de recursos disponíveis para os pods após deduzir as necessidades do sistema.
    • conditions: Lista de condições que descrevem o estado do nó (por exemplo, Ready, OutOfDisk, MemoryPressure).
    • nodeInfo: Informação sobre o ambiente de execução (versão do kubelet, OS, arquitetura).
  • Interação:
    • kubelet em cada nó fornece informações (NodeStatus) através da API Node ao controlador de nós no plano de controlo.
    • Os controladores (por exemplo, o agendador) usam essas informações para tomar decisões sobre a colocação de pods.
    • Os administradores podem usar o kubectl para interagir com a API Node (obter lista de nós, seu estado).
    # Ver lista de nós
    kubectl get nodes 
    
    # Ver informação completa de um nó específico
    kubectl describe node <nome-do-nó> 
    

A API Node é uma parte fundamental do Kubernetes, permitindo ao sistema monitorizar e usar eficientemente os recursos do cluster.