O Node Problem Detector é uma biblioteca de código aberto que monitora a integridade dos nós e detecta problemas comuns, como hardware, kernel ou problemas de tempo de execução de contêineres. No Google Distributed Cloud, ele é executado como um serviço systemd em cada nó.
A partir da versão 1.10.0 do Google Distributed Cloud, o Detector de problemas do nó é ativado por padrão.
Se precisar de mais ajuda, entre em contato com o Cloud Customer Care. Consulte também Receber suporte para mais informações sobre recursos de suporte, incluindo:
- Requisitos para abrir um caso de suporte.
 - Ferramentas para ajudar na solução de problemas, como configuração do ambiente, registros e métricas.
 - Componentes compatíveis.
 
Quais problemas ele detecta?
O detector de problemas do nó pode detectar os seguintes tipos de problemas:
- Problemas no ambiente de execução do contêiner, como daemons do ambiente de execução sem resposta
 - Problemas de hardware, como falhas de CPU, memória ou disco
 - Problemas de kernel, como condições de impasse do kernel ou sistemas de arquivos corrompidos
 
Ele é executado em um nó e informa problemas no servidor da API
Kubernetes como um NodeCondition
ou como um Event.
Um NodeCondition é um problema que impede o nó de executar pods, enquanto um
Event é um problema temporário que tem efeito limitado nos pods, mas é
considerado importante o suficiente para ser relatado.
A tabela a seguir descreve os NodeConditions descobertos pelo detector de problemas do nó e se eles podem ser corrigidos automaticamente:
| Condição | Motivo | Reparo automático disponível1 | 
|---|---|---|
KernelDeadlock | 
      Os processos do kernel ficam presos aguardando que outros processos do kernel liberem os recursos necessários. | Não | 
ReadonlyFilesystem | 
      O cluster não consegue gravar no sistema de arquivos devido a um problema, como disco cheio. | Não | 
FrequentKubeletRestart | 
      O kubelet está sendo reiniciado com frequência, o que impede que o nó execute pods de maneira eficaz. | Não | 
FrequentDockerRestart | 
      O daemon do Docker foi reiniciado mais de cinco vezes em 20 minutos. | Não | 
FrequentContainerdRestart | 
      O ambiente de execução do contêiner foi reiniciado mais de cinco vezes em 20 minutos. | Não | 
FrequentUnregisterNetDevice | 
      O nó está passando por um processo frequente de cancelamento do registro de dispositivos de rede. | Não | 
KubeletUnhealthy | 
      O nó não está funcionando corretamente ou não está respondendo ao plano de controle. | Não | 
ContainerRuntimeUnhealthy | 
      O ambiente de execução de contêineres não está funcionando corretamente, impedindo que os pods sejam executados ou programados no nó. | Não | 
CorruptDockerOverlay2 | 
      Há problemas ou inconsistências no sistema de arquivos no diretório do driver de armazenamento overlay2 do Docker. | Não | 
OrphanContainers2 | 
      Um pod específico de um contêiner foi excluído, mas o contêiner correspondente ainda existe no nó. | Não | 
FailedCgroupRemoval2 | 
      Alguns cgroups estão em estado congelado. | Sim | 
1 Nas versões 1.32 e mais recentes, a capacidade de corrigir automaticamente problemas detectados é compatível com algumas condições.
2 Compatível com as versões 1.32 e mais recentes.
Alguns exemplos dos tipos de Events relatados pelo Node Problem Detector são:
Warning TaskHung node/vm-worker-1-user-a12fabb4a99cb92-ddfce8832fd90f6f.lab.anthos kernel: task docker:7 blocked for more than 300 seconds.Warning KernelOops node/vm-worker-1-user-a12fabb4a99cb92-ddfce8832fd90f6f.lab.anthos kernel: BUG: unable to handle kernel NULL pointer dereference at 00x0.
Quais problemas ele corrige?
A partir da versão 1.32, quando o detector de problemas do nó descobre determinados NodeConditions, ele pode
corrigir automaticamente o problema correspondente no nó. A partir da versão 1.32,
o único NodeCondition que aceita o reparo automático é
FailedCgroupRemoval.
Como ver os problemas detectados
Execute o comando kubectl describe a seguir para procurar NodeConditions e
Events:
kubectl describe node NODE_NAME \
    --kubeconfig=KUBECONFIG
Substitua:
NODE_NAME: o nome do nó que você está verificando.KUBECONFIG: o caminho do arquivo kubeconfig do cluster.
Como ativar e desativar o detector de problemas do nó
Por padrão, o detector de problemas de nós fica ativado, mas pode ser desativado no recurso
ConfigMap node-problem-detector-config. A menos que você desative
explicitamente, o Detector de problemas de nós monitora continuamente os nós em busca de condições específicas que indicam
problemas para o nó.
Para desativar o Detector de problemas do nó em um determinado cluster, siga estas etapas:
Edite o recurso ConfigMap
node-problem-detector-config:kubectl edit configmap node-problem-detector-config \ --kubeconfig=KUBECONFIG \ --namespace=CLUSTER_NAMESPACESubstitua:
KUBECONFIG: o caminho do arquivo kubeconfig do cluster.CLUSTER_NAMESPACE: o namespace do cluster em que você quer ativar o detector de problemas do nó.
Esse comando inicia automaticamente um editor de texto para editar o recurso
node-problem-detector-config.Defina
data.enabledcomofalsena definição do recursonode-problem-detector-config.apiVersion: v1 kind: ConfigMap metadata: creationTimestamp: "2025-04-19T21:36:44Z" name: node-problem-detector-config ... data: enabled: "false"Inicialmente, o ConfigMap
node-problem-detector-confignão tem um campodata. Por isso, talvez seja necessário adicioná-lo.Para atualizar o recurso, salve as mudanças e feche o editor.
Para reativar o detector de problemas do nó, siga as etapas anteriores, mas defina data.enabled como
true na definição do recurso node-problem-detector-config.
Como ativar e desativar o reparo automático
A partir da versão 1.32, o Detector de problemas de nós verifica NodeConditions específicos e
corrige automaticamente o problema correspondente no nó. Por padrão, o reparo automático é ativado para NodeConditions compatíveis, mas pode ser desativado no recurso ConfigMap node-problem-detector-config.
Para desativar o comportamento de reparo automático em um determinado cluster, siga estas etapas:
Edite o recurso ConfigMap
node-problem-detector-config:kubectl edit configmap node-problem-detector-config \ --kubeconfig=KUBECONFIG \ --namespace=CLUSTER_NAMESPACESubstitua:
KUBECONFIG: o caminho do arquivo kubeconfig do cluster.CLUSTER_NAMESPACE: o namespace do cluster em que você quer ativar o detector de problemas do nó.
Esse comando inicia automaticamente um editor de texto para editar o recurso
node-problem-detector-config.Defina
data.check-onlycomotruena definição do recursonode-problem-detector-config.apiVersion: v1 kind: ConfigMap metadata: creationTimestamp: "2025-04-19T21:36:44Z" name: node-problem-detector-config ... data: enabled: "true" check-only: "true"Inicialmente, o ConfigMap
node-problem-detector-confignão tem um campodata. Por isso, talvez seja necessário adicioná-lo. Definircheck-onlycomo"true"desativa o reparo automático para todas as condições compatíveis.Para atualizar o recurso, salve as mudanças e feche o editor.
Para reativar o reparo automático em todos os NodeConditions que o aceitam, defina data.check-only como "false" no ConfigMap node-problem-detector-config.
Como parar e reiniciar o detector de problemas do nó
O detector de problemas do nó é executado como um serviço systemd em cada nó. Para gerenciar o detector de problemas de um nó específico, use o SSH para acessar o nó e execute os seguintes comandos systemctl.
Para desativar o Detector de problemas do nó, execute o seguinte comando:
systemctl stop node-problem-detectorPara reiniciar o detector de problemas do nó, execute o seguinte comando:
systemctl restart node-problem-detectorPara verificar se o Detector de problemas de nós está sendo executado em um nó específico, execute o seguinte comando:
systemctl is-active node-problem-detector
Recursos não suportados
O Google Distributed Cloud não aceita as seguintes personalizações do detector de problemas do nó:
- Exportar relatórios do Detector de problemas de nós para outros sistemas de monitoramento, como Stackdriver ou Prometheus.
 - Personalizando qual 
NodeConditionsouEventsprocurar. - Executar scripts de monitoramento definidos pelo usuário.
 
A seguir
Se precisar de mais ajuda, entre em contato com o Cloud Customer Care. Consulte também Receber suporte para mais informações sobre recursos de suporte, incluindo:
- Requisitos para abrir um caso de suporte.
 - Ferramentas para ajudar na solução de problemas, como configuração do ambiente, registros e métricas.
 - Componentes compatíveis.