Solucionar problemas de conexões com pontos de extremidade fora da rede virtual
Este artigo discute como solucionar problemas de conexões com pontos de extremidade fora da rede virtual (ou seja, por meio da Internet pública) de um cluster do Microsoft Serviço de Kubernetes do Azure (AKS).
Pré-requisitos
A ferramenta kubernetes kubectl ou uma ferramenta semelhante para se conectar ao cluster. Para instalar o kubectl usando a CLI do Azure, execute o comando az aks install-cli .
Lista de verificação de solução de problemas
Etapa 1: Fazer solução de problemas básica
Certifique-se de que você pode se conectar a pontos de extremidade públicos na Internet. Para obter instruções, consulte Solução de problemas básica de conexões de cluster aks de saída.
Etapa 2: determinar o tipo de saída para o cluster do AKS
Para identificar o tipo de saída do cluster do AKS, execute o comando az aks show :
az aks show --resource-group <resource_group> --name <cluster_name> --query "networkProfile.outboundType"
Se o tipo de saída for loadBalancer
, verifique se a tabela de rotas associada aos nós do AKS tem a rota padrão para a Internet. Os detalhes são mostrados na tabela a seguir.
Origem | Prefixos de endereço | Próximo tipo de salto |
---|---|---|
Padrão | 0.0.0.0/0 | Internet |
Se o tipo de saída for userDefinedRouting
, verifique se as seguintes condições serão atendidas:
O dispositivo de saída (firewall ou proxy) é acessível.
O dispositivo de saída permite o tráfego de saída necessário do cluster.
Para obter a lista de FQDNs permitidos para o cluster do AKS, execute o comando de lista az aks egress-endpoints :
az aks egress-endpoints list --resource-group <resource_group> --name <cluster_name>
Se o tipo de saída for managedNATGateway
, marcar se a sub-rede AKS está associada ao gateway NAT executando o comando az network nat gateway show:
az network nat gateway show --resource-group <resource_group> --name <nat_gateway_name> --query "subnets[].id"
Para obter mais informações sobre como usar um gateway nat junto com o AKS, consulte Gateway nat gerenciado.
Etapa 3: examinar a saída cURL quando você se conectar ao cluster
Os códigos de resposta cURL podem ajudá-lo a identificar o tipo de problema. Depois que o código de resposta ficar disponível, tente entender melhor como o problema se comporta. Para obter mais informações sobre os códigos http status e o comportamento subjacente do problema, consulte a tabela a seguir.
Fonte de informações | Link |
---|---|
Autoridade de Números Atribuídos à Internet (IANA) | Protocolo de Transferência de Hipertexto (HTTP) status registro de código |
Mozilla | Códigos de status de resposta HTTP |
Wikipédia | Lista de códigos de status HTTP |
Os seguintes códigos HTTP status podem indicar os problemas listados.
Código de status de HTTP | Problema | Exemplo |
---|---|---|
4xx |
|
|
5xx |
Um problema afeta o servidor. | O aplicativo está desligado ou um gateway não está funcionando. |
Etapa 4: determinar o que acontece se o tráfego de saída geralmente viaja por um dispositivo virtual, mas você o ignora em vez disso
Para testes rápidos para determinar se o dispositivo de saída (dispositivo virtual) causa o problema, você pode permitir temporariamente que todo o tráfego passe pela Internet. Para configurar essa configuração, você pode alterar o endereço IP padrão e a rota de porta por meio do 0.0.0.0
/0
dispositivo virtual para passar pela Internet.
O problema é intermitente?
Você pode ter problemas de saída intermitentes por muitos motivos. Para solucionar problemas de conexão de saída intermitente, experimente as seguintes verificações:
O pod ou o nó estão esgotados nos recursos?
Execute o seguinte código para marcar como os recursos são usados:
kubectl top pods
kubectl top nodes
O disco do sistema operacional é muito usado?
Para marcar se o disco do sistema operacional é usado fortemente, siga estas etapas:
No portal do Azure, pesquise e selecione Conjuntos de dimensionamento de máquinas virtuais.
Na lista de conjuntos de escala, selecione o conjunto de dimensionamento usado para o cluster do AKS.
No painel de navegação do conjunto de dimensionamento, vá para a seção Monitoramento e selecione Métricas.
Exiba as métricas de disco para o conjunto de dimensionamento da seção Métricas procurando os campos a seguir.
Campo Valor Escopo Nome do VMSS Namespace de Métricas Host de Máquina Virtual Métrica Métrica do sistema operacional e do disco de dados
Para obter mais informações sobre métricas, consulte métricas de Disco e Disco de Dados do sistema operacional.
Para exibir recomendações do AKS sobre a utilização do disco, siga estas etapas:
No portal do Azure, pesquise e selecione Serviços do Kubernetes.
Na lista de serviços do Kubernetes, selecione o nome do cluster do AKS.
No painel de navegação de cluster do AKS, vá para a seção Monitoramento e selecione Recomendações do Assistente.
Examine as recomendações listadas sobre o uso do disco.
Se o disco do sistema operacional for usado fortemente, considere usar os seguintes remédios:
Aumente o tamanho do disco do sistema operacional.
Alterne para discos do sistema operacional efêmero.
Se esses recursos não resolve o problema, analise o processo que faz operações pesadas de leitura/gravação no disco. Em seguida, marcar se você pode mover as ações para um disco de dados em vez do disco do sistema operacional.
A porta de tradução de endereço de rede de origem está esgotada?
Se os aplicativos estiverem fazendo muitas conexões de saída, eles poderão esgotar o número de portas disponíveis no endereço IP do dispositivo de saída. Siga o standard load balancer diagnóstico com métricas, alertas e integridade de recursos para monitorar o uso e a alocação da porta SNAT (conversão de endereço de rede de origem) do balanceador de carga existente. Monitore para verificar ou determinar o risco de esgotamento da porta SNAT.
Você está atingindo ou excedendo o número máximo de portas SNAT alocadas? Nesse caso, você pode marcar seu aplicativo para determinar se ele está reutilizando conexões existentes. Para obter mais informações, consulte Projetar seus aplicativos para usar conexões com eficiência.
Se você achar que o aplicativo está configurado corretamente e precisar de mais portas SNAT do que o número padrão de portas alocadas, siga estas etapas:
Aumente o número de IPs públicos no dispositivo de saída. Se o dispositivo de saída for o balanceador de carga, você poderá aumentar o número de endereços IP públicos no balanceador de carga.
Aviso de isenção de responsabilidade para contatos de terceiros
A Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar informações adicionais sobre esse tópico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão das informações de contato de terceiros.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.