Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve como identificar e resolver o OutboundConnFailVMExtensionError erro (também conhecido como código ERR_OUTBOUND_CONN_FAILde erro, número de erro 50) que pode ocorrer se você criar, iniciar, dimensionar ou atualizar um cluster do AKS (Serviço de Kubernetes do Microsoft Azure).
Prerequisites
A ferramenta de linha de comando Netcat (nc)
A ferramenta de linha de comando dig
A ferramenta de URL do Cliente (cURL)
Symptoms
Ao tentar criar, dimensionar ou atualizar um cluster do AKS, você poderá receber a seguinte mensagem de erro:
Não é possível estabelecer uma conexão de saída dos agentes, consulte https://aka.ms/aks-required-ports-and-addresses para obter mais informações.
Detalhes: Code="VMExtensionProvisioningError"
Message="VM relatou uma falha ao processar a extensão 'vmssCSE'.
Mensagem de erro: "Falha na ativação: falha ao executar o comando: comando encerrado com status de saída=50\n[stdout]\n\n[stderr]\nnc: falha na conexão com a porta 443 (tcp) do mcr.microsoft.com: Tempo limite da conexão\nComando encerrado com status diferente de zero
Detalhes do erro: "vmssCSE error messages: {vmssCSE exit status=50, output=pt/apt.conf.d/95proxy...}
Esse erro também pode fazer com que os nós em execução se tornem NotReady ou causem falhas na obtenção de imagens porque a conectividade de saída está bloqueada em alguns ou em todos os nós do cluster.
Cause
A extensão de script personalizado que baixa os componentes necessários para provisionar os nós não pôde estabelecer a conectividade de saída necessária para obter pacotes. Para clusters públicos, os nós tentam se comunicar com o ponto de extremidade do MCR (Registro de Contêiner da Microsoft) (mcr.microsoft.com) na porta 443.
Há muitos motivos pelos quais o tráfego de saída pode ser bloqueado. A melhor maneira de solucionar problemas de falhas de conectividade de saída é executando uma análise de conectividade com o Verificador de Rede Virtual do Azure (Versão Prévia). Ao executar uma análise de conectividade, você pode visualizar os saltos dentro do fluxo de tráfego e quaisquer configurações incorretas nos recursos de rede do Azure que estão bloqueando o tráfego. Para solucionar manualmente problemas de falhas de conectividade de saída, você pode usar o protocolo Secure Shell (SSH) para se conectar ao nó. Esta seção aborda as instruções para ambos os tipos de investigações:
Verifique se os recursos de rede do Azure estão bloqueando o tráfego para o ponto de extremidade
Para determinar se o tráfego está bloqueado para o ponto de extremidade devido aos recursos de rede do Azure, execute uma análise de conectividade de seus nós de cluster do AKS para o ponto de extremidade usando a ferramenta Verificador de Rede Virtual do Azure (Versão Prévia). A análise de conectividade abrange os seguintes recursos:
- Azure Load Balancer
- Firewall do Azure
- Um gateway de conversão de endereços de rede (NAT)
- NSG (grupo de segurança de rede)
- Política de rede
- Rotas definidas pelo usuário (tabelas de rotas)
- Emparelhamento de rede virtual
Note
O Verificador de Rede Virtual do Azure (versão prévia) não pode acessar recursos de rede externos ou de terceiros, como um firewall personalizado. Se a análise de conectividade não detectar nenhum tráfego bloqueado, recomendamos que você execute uma verificação manual de qualquer rede externa para cobrir todos os saltos no fluxo de tráfego.
Atualmente, não há suporte para clusters que usam a Sobreposição de CNI do Azure para esse recurso. Suporte para CNI Overlay está previsto para agosto de 2025.
- Navegue até seu cluster no portal do Azure. Na barra lateral, navegue até a folha Configurações –> Pools de nós.
- Identifique o nodepool do qual você deseja executar uma análise de conectividade. Clique no nodepool para selecioná-lo como o escopo.
- Selecione "Análise de conectividade (versão prévia)" na barra de ferramentas na parte superior da página. Se você não vê-lo, clique nos três pontos "..." na barra de ferramentas na parte superior da página para abrir o menu expandido.
- Selecione uma instância do VMSS (Conjunto de Dimensionamento de Máquinas Virtuais) como a origem. Os endereços IP de origem são preenchidos automaticamente.
- Selecione um nome de domínio público/ponto de extremidade como o destino da análise, um exemplo é
mcr.microsoft.com. Os endereços IP de destino também são preenchidos automaticamente. - Execute a análise e aguarde até 2 minutos pelos resultados. No diagrama resultante, identifique os recursos de rede do Azure associados e onde o tráfego está bloqueado. Para exibir a saída de análise detalhada, clique na guia "Saída JSON" ou clique nas setas no diagrama.
Solução de problemas manual
Se a ferramenta Verificador de Rede Virtual do Azure (Versão Prévia) não fornecer insights suficientes sobre o problema, você poderá solucionar problemas manuais de falhas de conectividade de saída usando o protocolo SSH (Secure Shell) para se conectar ao nó. Para fazer a conexão, siga as instruções em Conectar-se aos nós de cluster do AKS (Serviço de Kubernetes do Azure) para manutenção ou solução de problemas. Em seguida, teste a conectividade no cluster seguindo estas etapas:
Depois de se conectar ao nó, execute os
nccomandos edig:nc -vz mcr.microsoft.com 443 dig mcr.microsoft.com 443Note
Se você não puder acessar o nó por meio do SSH, poderá testar a conectividade de saída executando o comando az vmss run-command invoke na instância do Conjunto de Dimensionamento de Máquinas Virtuais:
# Get the VMSS instance IDs. az vmss list-instances --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --output table # Use an instance ID to test outbound connectivity. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "nc -vz mcr.microsoft.com 443"Se você tentar criar um cluster do AKS usando um proxy HTTP, execute os
nccomandos ,curle depoisdigde se conectar ao nó:# Test connectivity to the HTTP proxy server from the AKS node. nc -vz <http-s-proxy-address> <port> # Test traffic from the HTTP proxy server to HTTPS. curl --proxy http://<http-proxy-address>:<port>/ --head https://mcr.microsoft.com # Test traffic from the HTTPS proxy server to HTTPS. curl --proxy https://<https-proxy-address>:<port>/ --head https://mcr.microsoft.com # Test DNS functionality. dig mcr.microsoft.com 443Note
Se você não puder acessar o nó por meio do SSH, poderá testar a conectividade de saída executando o
az vmss run-command invokecomando na instância do Conjunto de Dimensionamento de Máquinas Virtuais:# Get the VMSS instance IDs. az vmss list-instances --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --output table # Use an instance ID to test connectivity from the HTTP proxy server to HTTPS. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "curl --proxy http://<http-proxy-address>:<port>/ --head https://mcr.microsoft.com" # Use an instance ID to test connectivity from the HTTPS proxy server to HTTPS. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "curl --proxy https://<https-proxy-address>:<port>/ --head https://mcr.microsoft.com" # Use an instance ID to test DNS functionality. az vmss run-command invoke --resource-group <mc-resource-group-name> \ --name <vmss-name> \ --command-id RunShellScript \ --instance-id <vmss-instance-id> \ --output json \ --scripts "dig mcr.microsoft.com 443"
Solution
A tabela a seguir lista os motivos específicos pelos quais o tráfego pode ser bloqueado e a solução correspondente para cada motivo:
| Issue | Solution |
|---|---|
| O tráfego é bloqueado por regras de firewall, um servidor proxy ou NSG (Grupo de Segurança de Rede) | Esse problema ocorre quando as portas necessárias do AKS ou os FQDNs (Nomes de Domínio Totalmente Qualificados) são bloqueados por um firewall, servidor proxy ou NSG. Verifique se essas portas e FQDNs são permitidos. Para determinar o que está bloqueado, verifique a conectividade fornecida na seção Causa anterior. Para obter mais informações sobre as portas e FQDNs necessários do AKS, consulte Rede de saída e regras de FQDN para clusters do AKS (Serviço de Kubernetes do Azure). |
| O registro AAAA (IPv6) está bloqueado no firewall | No firewall, verifique se não existe nada que impeça a resolução do ponto de extremidade no DNS do Azure. |
| O cluster privado não pode resolver recursos internos do Azure | Em clusters privados, o endereço IP DNS do Azure (168.63.129.16) deve ser adicionado como um servidor DNS upstream se o DNS personalizado for usado. Verifique se o endereço está definido em seus servidores DNS. Para obter mais informações, consulte Criar um cluster AKS privado e O que é o endereço IP 168.63.129.16?. |
Mais informações
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.