Por que o status da rede mostra um erro NHC007 ?
Nuvem Privada Virtual
Resolva o erro de verificação de integridade da rede “ NHC007 ”.
Quando você verifica o status da integridade do seu cluster executando o ibmcloud oc cluster health issues --cluster <CLUSTER_ID>, você vê um erro semelhante ao exemplo a seguir.
ID Component Severity Description
NHC007 Network Warning One or more DNS resolvers are not reachable from certain worker nodes.
Se você verificar os detalhes do problema, verá quais resolvedores de DNS não podem ser acessados de qual nó de trabalho.
ibmcloud ks cluster health issue get --cluster <CLUSTER_ID> --issue NHC007
Esse aviso indica que o tráfego de DNS de determinados nós de trabalho está sendo bloqueado, possivelmente devido a políticas restritivas ou configurações do site IaaS-level.
Verifique seus recursos Calico HostEndpoint (HEP) e GlobalNetworkPolicy (GNP), bem como suas ACLs, grupos de segurança e quaisquer outros dispositivos de rede que possam bloquear o tráfego de DNS de saída.
-
Analise os recursos do Calico HostEndpoint (HEP) para listar os HEPs do Calico e verificar se alguma configuração de HEP pode aplicar restrições incorretamente às interfaces do nó de trabalho.
kubectl get hostendpoints.crd.projectcalico.orgExemplo de comando para descrever um HEP específico.
kubectl describe hostendpoints.crd.projectcalico.org <hep-name> -
Acesse Calico GlobalNetworkPolicies (GNP) para listar os GNPs.
kubectl get globalnetworkpolicies.crd.projectcalico.org -
Inspecione políticas específicas para regras restritivas de DNS. Concentre-se nas regras do site
egressque afetam a porta 53 ou se aplicam a rótulos/seletores de nós.kubectl get globalnetworkpolicies.crd.projectcalico.org <policy-name> -o yaml -
Teste o acesso ao DNS a partir de um pod de depuração; execute um pod de depuração temporário, utilizando o nome dos nós de trabalho afetados em
nodeName. Se o DNS falhar aqui, pode ser devido a bloqueios no nível da infraestrutura.kubectl run -i --tty debug \ --image=us.icr.io/armada-master/network-alpine:latest \ --restart=Never \ --overrides=' { "apiVersion": "v1", "spec": { "nodeName": "<node-name>" } }' -- sh -
Execute os seguintes comandos dentro do pod de depuração.
nslookup ibm.comdig ibm.com -
Verifique as ACLs (Listas de Controle de Acesso).
-
No console, navegue até VPC > Listas de controle de acesso e garanta que as regras de saída permitam tanto a porta 53 do UDP quanto a porta 53 do TCP.
-
Na CLI, inspecione as ACLs executando os seguintes comandos.
ibmcloud is network-acls ``` ```sh {: pre} ibmcloud is network-acl <acl-id> ``` -
-
Inspecione as regras do grupo de segurança para encontrar os grupos de segurança associados aos nós de trabalho e, em seguida, execute para verificar as configurações do grupo de segurança. Verifique se não há regras de saída bloqueando o tráfego de DNS ( UDP / TCP porta 53).
ibmcloud is security-group-rules <security-group-id> -
Analise sua infraestrutura (dispositivos de rede, ACLs, etc.) e permita o tráfego de saída UDP e TCP porta 53
-
Se o DNS ainda estiver inacessível após a revisão desses itens, entre em contato com o suporte. Abrir um caso de suporte. Nos detalhes do caso, certifique-se de incluir todos os arquivos de registro, mensagens de erro ou saídas de comando relevantes.