O ALB Ingress controller encaminha solicitações externas para aplicações em um cluster Kubernetes. Ele monitora alterações em Services e endpoints associados a um ALB Ingress. Quando detecta alterações, o ALB Ingress controller sincroniza as mudanças com os grupos de servidores backend da instância do ALB correspondente em tempo real. As alterações também são sincronizadas com o console do ALB. Este tópico descreve como diagnosticar erros do ALB Ingress controller e apresenta soluções.
Sincronização de recursos
A figura a seguir mostra como o ALB Ingress controller sincroniza recursos.
O ALB Ingress controller cria uma instância do ALB e dois listeners, listener1 e listener2, com base no AlbConfig configurado.
O ALB Ingress controller cria duas regras de encaminhamento, rule1 e rule2, com base no Ingress configurado, e associa rule1 e rule2 ao listener2. Duas grupos de servidores backend, vgroup1 e vgroup2, são especificados em rule1. Um grupo de servidores backend, vtgroup2, é especificado em rule2.
O ALB Ingress controller monitora alterações em Services e endpoints. Quando detecta alterações, sincroniza as mudanças com os grupos de servidores backend da instância do ALB correspondente em tempo real.
A sincronização descrita pode falhar devido a limites específicos. Nesse caso, eventos de erro são registrados. As etapas a seguir descrevem como visualizar, analisar e resolver os erros.
Etapa 1: Visualizar eventos de erro
Atualize o ALB Ingress controller para a versão mais recente.
Os eventos são atualizados continuamente. Antes de diagnosticar o ALB Ingress controller, recomenda-se atualizá-lo para a versão mais recente.
Execute o seguinte comando para consultar eventos de erro do Ingress:
kubectl -n your-namespace describe ingress your-ingress-nameA seção
Eventsna saída exibe os eventos de erro do Ingress.Scheduled for sync: Um evento é iniciado.Successfully reconciled: Um evento é concluído.
Etapa 2: Analisar e resolver erros
A tabela a seguir descreve as causas de eventos de erro comuns e apresenta soluções.
Evento de erro | Causa | Solução |
listener is not exist, port: 80, protocol: HTTP | O ALB Ingress controller 2.11.0 e versões posteriores podem associar um listener a um Ingress, mas não podem criar o listener. Se o listener associado a um Ingress não estiver configurado em um AlbConfig, esse evento de erro é gerado. | Para o ALB Ingress controller 2.11.0 e versões posteriores, configure os listeners que deseja utilizar nos AlbConfigs. |
listener not found for (80/HTTP), with ingresses 1 | Para o ALB Ingress controller 2.11.0 e versões posteriores, ao remover um listener de um AlbConfig enquanto ele ainda está associado a um Ingress, esse evento de erro é gerado. O evento contém informações sobre o listener e o número de Ingresses associados a ele. | Para remover o listener, primeiro desassocie todos os Ingresses dele. Importante Se remover um listener acidentalmente, adicione-o novamente. |
none certificate found for host | O TLS e a descoberta automática de certificados estão ativados, mas nenhum certificado está associado ao nome de domínio no console do Certificate Management Service. |
|
The param of Rules.1.RuleConditions.2.PathConfig.Values.1 is illegal | Um caminho inválido foi especificado ao criar ou modificar a regra de encaminhamento. |
|
The param of ServerGroupName is illegal | O nome do grupo de servidores backend associado à instância do ALB é inválido. | Especifique o nome no formato válido. O nome deve seguir o formato |
The specified resource sgp-vz2fb219vv792flx3u is in use | O grupo de servidores backend foi adicionado a outra instância do ALB. | Acesse o console do ALB. No painel de navegação à esquerda, escolha . Na página Server Groups, localize o grupo de servidores backend e remova-o da outra instância do ALB. |
Message: Invalid value. Set the value in a valid format. | O ID do certificado especificado no AlbConfig é inválido. | Verifique se o ID especificado é um ID de recurso ou um ID numérico. Substitua o ID de recurso ou ID numérico pelo ID do certificado especificado pelo parâmetro CertIdentifier. |