O ACK oferece diagnósticos de Ingress para ajudar a solucionar problemas comuns. Este tópico descreve os itens de verificação e as soluções correspondentes para recursos de Ingress, add-ons e Server Load Balancer (SLB).
O diagnóstico de Ingress executa um programa de coleta de dados em cada nó para obter a versão do sistema, o status de carga, o status do docker, o status do kubelet e entradas críticas de erro nos logs do sistema. O processo não coleta dados de negócio nem informações sensíveis.
Os itens de diagnóstico disponíveis dependem da configuração do seu cluster. Considere os itens exibidos na página de diagnóstico como a referência oficial.
Categorias de diagnóstico
|
Categoria |
O que é verificado |
|
Disponibilidade dos recursos de Ingress |
|
|
Parâmetros de inicialização do controlador de Ingress, Services associados e pods de Ingress |
|
|
Status da instância SLB, incluindo conexões máximas, QPS e integridade |
Ingress
|
Item de diagnóstico |
Descrição |
Solução |
|
Verificação de Ingress |
Valida se o Ingress especificado existe. |
Verifique se existe uma regra de Ingress para a URL. Se estiver correta, inspecione as regras; por exemplo, confirme se há uma regex definida como caminho ou se a anotação |
|
Verificação de base-url-scheme |
Detecta o uso da anotação |
Consulte a versão do controlador de Ingress e remova essa anotação ou substitua-a por uma compatível. |
|
Verificação de grpc-backend |
Identifica o uso da anotação |
Consulte a versão do controlador de Ingress e remova essa anotação ou substitua-a por uma compatível. |
|
Verificação de mirror-uri |
Sinaliza o uso da anotação |
Consulte a versão do controlador de Ingress e remova essa anotação ou substitua-a por uma compatível. |
|
Verificação de secure-backends |
Aponta o uso da anotação |
Consulte a versão do controlador de Ingress e remova essa anotação ou substitua-a por uma compatível. |
|
Verificação de session-cookie-hash |
Detecta a anotação |
Consulte a versão do controlador de Ingress e remova essa anotação ou substitua-a por uma compatível. |
|
Verificação nginx.com/nginx.org |
Identifica anotações com prefixo |
Substitua-as por anotações compatíveis com o controlador NGINX Ingress open-source. Consulte Gerenciamento de NGINX Ingress ou a documentação oficial. |
|
Status do Canary |
Verifica se |
Adicione a anotação |
Add-on
|
Item de diagnóstico |
Descrição |
Solução |
|
Percentual de pods de Ingress no estado Ready |
Verifica a porcentagem de pods de Ingress no estado Ready. Valores abaixo de 100% podem indicar problemas. |
Analise os logs de erro para identificar e corrigir os pods com falha. Consulte NGINX Ingress controller troubleshooting. |
|
Verificação de endereço IP do Ingress |
Confirma se o controlador de Ingress atribuiu um endereço IP ao Ingress. |
Caso nenhum IP tenha sido atribuído, verifique se o controlador de Ingress está referenciado na IngressClass e funcionando corretamente. Corrija os problemas com base no resultado do diagnóstico. |
|
Verificação de pod líder |
Valida a eleição de um pod líder. A ausência de líder pode indicar tempo insuficiente de inicialização ou permissões mal configuradas no controlador de Ingress. |
Examine os logs de erro dos pods de Ingress e corrija os erros reportados. Consulte NGINX Ingress controller troubleshooting. |
|
Anotações incorretas no NGINX Ingress |
Busca anotações com prefixo |
Utilize anotações compatíveis com o controlador open-source. Consulte Anotações. |
|
Uso de grupos de captura com rewrite-target em NGINX Ingresses |
Verifica se |
Configure o Ingress corretamente. Consulte Advanced NGINX Ingress configurations. |
|
Regras canary do NGINX Ingress |
Verifica se mais de dois Services foram especificados em |
Limite |
|
Nome do Ingress |
Exibe os nomes das regras de Ingress correspondentes. |
Nenhuma. |
|
Logs de erro de pods |
Verifica se os pods do controlador de Ingress estão gerando logs de erro, indicando que o controlador pode não estar executando conforme esperado. |
Revise os logs de erro para identificar e resolver o problema. Consulte NGINX Ingress controller troubleshooting. |
|
Uso de grupos de captura nos caminhos de rewrite-target |
Confirma se grupos de captura estão especificados em |
Configure o Ingress adequadamente. Consulte Configure routing rules to redirect traffic from specific URLs. |
|
Múltiplos alvos em service-* |
Avalia se mais de dois Services foram definidos em |
Restrinja |
|
Verificação de Service do Ingress |
Valida se o Service nos parâmetros de inicialização do controlador de Ingress existe. Um Service ausente impede a inicialização do controlador. |
Localize o Service ausente nos parâmetros de inicialização do Deployment e restaure-o. Consulte High-risk operations related to networks and SLB instances. |
|
Verificação de endpoint do Service de Ingress |
Verifica se o Service associado ao Ingress possui endpoints. Sem endpoints, o SLB não consegue rotear tráfego para o controlador. |
Garanta que o seletor de rótulos no Service corresponda aos pods corretos. |
|
Eventos do Service de Ingress |
Monitora se o Service associado ao Ingress apresenta eventos de Warning ou Error, que frequentemente indicam erros de configuração do SLB. |
Analise os eventos do Service para identificar e corrigir a causa. Consulte Service errors and solutions. |
|
Política de tráfego externo do Service de Ingress |
Examina a política de tráfego externo do Service. O padrão é Local; o modo Cluster pode não preservar os IPs dos clientes, resultando em verificações de integridade incorretas. |
Utilize o modo Local, a menos que sua carga de trabalho exija o modo Cluster ou necessite de acesso ao IP do SLB de dentro do cluster. |
|
Endereço IP externo do Service de Ingress |
Verifica se o cloud controller manager atribuiu um IP externo ao Service. Sem isso, o Ingress não recebe tráfego da Internet. |
Verifique o status do Service, o cloud controller manager e a cota do SLB. A maioria dos problemas aparece como eventos do Service. |
|
Tipo de Service do Ingress (LoadBalancer) |
Confirma se o Service nos parâmetros de inicialização do controlador de Ingress é do tipo LoadBalancer. Um tipo diferente torna o controlador inacessível pela Internet. |
Altere o tipo de Service para LoadBalancer, exceto se o acesso à Internet não for necessário. |
|
Verificação de --force-namespace-isolation |
Detecta o uso do parâmetro de inicialização |
Consulte a versão do controlador de Ingress e remova esse parâmetro de inicialização. |
|
Verificação de --sort-backends |
Sinaliza o uso do parâmetro de inicialização |
Consulte a versão do controlador de Ingress e remova esse parâmetro de inicialização. |
SLB
|
Item de diagnóstico |
Descrição |
Solução |
|
Instância SLB |
Verifica se a instância SLB usada pelo controlador de Ingress existe. |
Se estiver ausente, verifique os eventos do Service associado e o console do SLB. Se a exclusão foi acidental, recrie o Service para provisionar uma nova instância. Consulte What do I do if I accidentally delete an SLB instance? |
|
Integridade dos servidores backend da instância SLB do controlador de Ingress |
Avalia o status de integridade dos servidores backend do SLB. |
Em caso de falha, revise os eventos do Service e verifique se os pods do controlador estão sobrecarregados. Consulte NGINX Ingress controller troubleshooting. |
|
ID do SLB |
Exibe o ID da instância SLB. |
Nenhuma. |
|
Conexões da instância SLB do controlador de Ingress |
Analisa se as conexões do SLB nos últimos três dias ultrapassaram 80% do limite. Atingir o limite bloqueia novas conexões de clientes. |
Se estiver no limite, faça upgrade da instância SLB para evitar interrupções de serviço. Consulte Use an existing SLB instance. |
|
Taxa de novas conexões da instância SLB do controlador de Ingress |
Verifica se a taxa de novas conexões do SLB nos últimos três dias excedeu 80% do limite. Alcançar esse patamar bloqueia temporariamente novas conexões. |
Se estiver no limite, faça upgrade da instância SLB para evitar interrupções de serviço. Consulte Use an existing SLB instance. |
|
QPS da instância SLB do controlador de Ingress |
Verifica se o QPS do SLB nos últimos três dias superou 80% do limite. Atingir o limite bloqueia conexões de clientes. |
Se estiver no limite, faça upgrade da instância SLB para evitar interrupções de serviço. Consulte Use an existing SLB instance. |
|
Host e SecretName para TLS |
Confirma se tanto |
Especifique ambos |
|
Verificação de integridade do SLB do controlador de Ingress |
Monitora se a instância SLB apresentou falhas nas verificações de integridade nos últimos três dias. Falhas indicam pods do controlador sobrecarregados ou erros de configuração do SLB. |
Se ocorreram falhas, revise os eventos do Service e verifique se o controlador não está sobrecarregado. Consulte NGINX Ingress controller troubleshooting. |