Delen via


Problemen met verbindingen met eindpunten buiten het virtuele netwerk oplossen

In dit artikel wordt beschreven hoe u problemen met verbindingen met eindpunten buiten het virtuele netwerk (dat wil gezegd via het openbare internet) kunt oplossen vanuit een AKS-cluster (Microsoft Azure Kubernetes Service).

Voorwaarden

Controlelijst voor probleemoplossing

Is het probleem permanent?

Stap 1: Basisproblemen oplossen

Zorg ervoor dat u verbinding kunt maken met openbare eindpunten op internet. Zie Basisproblemen met uitgaande AKS-clusterverbindingen oplossen voor instructies.

Stap 2: het uitgaande type voor het AKS-cluster bepalen

Voer de opdracht az aks show uit om het uitgaande type van het AKS-cluster te identificeren:

az aks show --resource-group <resource_group> --name <cluster_name> --query "networkProfile.outboundType"

Als het uitgaande type is, is loadBalancerer geen routetabel, tenzij u kubenet-netwerk gebruikt. Als u kubenet gebruikt, moet u ervoor zorgen dat de standaardroutetabel geen aanvullende configuratie heeft die uitgaande internetverbinding blokkeert. Als u een ander netwerk gebruikt, zoals Azure CNI, Dynamische toewijzing of Azure CNI-overlay, wordt er standaard geen routetabel gemaakt. Zorg er in dit geval voor dat de NSG (netwerkbeveiligingsgroep) geen aangepaste configuratie heeft die uitgaande internetverbinding blokkeert.

Als het uitgaande type is userDefinedRouting, moet u ervoor zorgen dat aan de volgende voorwaarden wordt voldaan:

  • Het uitgaande apparaat (firewall of proxy) is bereikbaar.

  • Het uitgaande apparaat staat het vereiste uitgaande verkeer van het cluster toe.

    Als u de lijst met FQDN's wilt ophalen die zijn toegestaan voor uw AKS-cluster, voert u de opdracht az aks egress-endpoints list uit:

    az aks egress-endpoints list --resource-group <resource_group> --name <cluster_name>
    

Als het uitgaande type is managedNATGateway, controleert u of het AKS-subnet is gekoppeld aan de NAT-gateway door de opdracht az network nat gateway show uit te voeren:

az network nat gateway show --resource-group <resource_group> --name <nat_gateway_name> --query "subnets[].id"

Zie Beheerde NAT-gateway voor meer informatie over het gebruik van een NAT-gateway in combinatie met AKS.

Stap 3: Bekijk de curl-uitvoer wanneer u verbinding maakt met de toepassingspod

De curl-antwoordcodes kunnen u helpen bij het identificeren van het probleemtype. Nadat de antwoordcode beschikbaar is, probeert u beter te begrijpen hoe het probleem zich gedraagt. Raadpleeg de volgende tabel voor meer informatie over de HTTP-statuscodes en het onderliggende gedrag van het probleem.

Informatiebron Koppeling
Internet Assigned Numbers Authority (IANA) Http-statuscoderegister (Hypertext Transfer Protocol)
Mozilla HTTP-antwoordstatuscodes
Wikipedia Lijst van HTTP-statuscodes

De volgende HTTP-statuscodes kunnen duiden op de vermelde problemen.

HTTP-statuscode Probleem Voorbeeld
4xx
  1. Een probleem is van invloed op de clientaanvraag.
  2. Er bestaat een netwerkblokkering tussen de client en de server.
  1. De aangevraagde pagina bestaat niet of de client heeft geen toegang tot de pagina.
  2. Verkeer wordt geblokkeerd door een netwerkbeveiligingsgroep of een firewall.
5xx Een probleem is van invloed op de server. De toepassing is offline of een gateway werkt niet.

U kunt proberen verbinding te maken met het toepassingseindpunt met behulp van curl. Hier volgt een voorbeeld van een opdracht en uitvoer:

# 404 error code example
$ curl -vv <host IP address>/test.index

*   Trying <host IP address>:80...
* TCP_NODELAY set
* Connected to <host IP address> (<host IP address>) port 80 (#0)
> GET /test.index HTTP/1.1
> Host: <host IP address>
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
...
* Connection #0 to host <host IP address> left intact

Stap 4: Controleer wat er gebeurt als uitgaand verkeer het virtuele apparaat tijdelijk omzeilt

Voor snelle tests om te bepalen of het uitgaande apparaat (virtueel apparaat) het probleem veroorzaakt, kunt u tijdelijk toestaan dat al het verkeer via internet gaat. Als u deze installatie wilt configureren, kunt u in plaats daarvan het standaard-IP-adres en de poortroute van 0.0.0.0/0 het virtuele apparaat wijzigen om via internet te gaan.

Als het uitgaande apparaat goed werkt bij het omzeilen van het virtuele apparaat, controleert u de logboeken van het virtuele apparaat om te zien welke pakketten worden geweigerd en voegt u regels voor toestaan toe in het virtuele apparaat dienovereenkomstig.

Is het probleem onregelmatig?

U kunt om verschillende redenen onregelmatige uitgaande problemen ondervinden. Voer de volgende stappen uit om onregelmatige uitgaande verbindingsproblemen op te lossen:

Stap 1: Controleren of de pod- of knooppuntbronnen zijn uitgeput

Voer de volgende opdrachten uit om te controleren hoeveel de resources worden gebruikt:

kubectl top pods
kubectl top nodes

Stap 2: Controleren of de schijf van het besturingssysteem intensief wordt gebruikt

Volg deze stappen om te controleren of de besturingssysteemschijf intensief wordt gebruikt:

  1. Zoek en selecteer virtuele-machineschaalsets in Azure Portal.

  2. Selecteer in de lijst met schaalsets de schaalset die wordt gebruikt voor uw AKS-cluster.

  3. Ga in het navigatiedeelvenster van de schaalset naar de sectie Bewaking en selecteer vervolgens Metrische gegevens.

  4. Bekijk de metrische schijfgegevens voor de schaalset in de sectie Metrische gegevens door naar de volgende velden te zoeken.

    Veld Waarde
    Bereik VMSS-naam
    Naamruimte voor metrische gegevens Host van virtuele machine
    Metrische gegevens Metrische gegevens van besturingssysteem en gegevensschijf

Zie metrische gegevens van besturingssysteemschijf en gegevensschijf voor meer informatie over metrische gegevens.

Volg deze stappen om AKS-aanbevelingen over schijfgebruik weer te geven:

  1. Zoek en selecteer Kubernetes-services in Azure Portal.

  2. Selecteer in de lijst met Kubernetes-services de naam van uw AKS-cluster.

  3. Ga in het navigatiedeelvenster van het AKS-cluster naar de sectie Bewaking en selecteer vervolgens Advisor-aanbevelingen.

  4. Bekijk de vermelde aanbevelingen over schijfgebruik.

Als de besturingssysteemschijf intensief wordt gebruikt, kunt u overwegen de volgende oplossingen te gebruiken:

Als dit probleem niet wordt opgelost, analyseert u het proces dat zware lees-/schrijfbewerkingen op de schijf doet. Controleer vervolgens of u de acties naar een gegevensschijf kunt verplaatsen in plaats van de besturingssysteemschijf.

Stap 3: Controleren of de poort voor de vertaling van het bronnetwerkadres is uitgeput

Als toepassingen veel uitgaande verbindingen maken, kunnen ze het aantal beschikbare poorten op het IP-adres van het uitgaande apparaat uitputten. Volg de diagnostische gegevens van standard load balancer met metrische gegevens, waarschuwingen en resourcestatus om het gebruik en de toewijzing van de SNAT-poort (Source Network Address Translation) van uw bestaande load balancer te controleren. Controleer of bepaal het risico van uitputting van SNAT-poorten.

Bereikt of overschrijdt u het maximum aantal toegewezen SNAT-poorten? In dat geval kunt u uw toepassing controleren om te bepalen of bestaande verbindingen opnieuw worden gebruikt. Zie Uw toepassingen ontwerpen om efficiƫnt verbindingen te gebruiken voor meer informatie.

Als u denkt dat de toepassing correct is geconfigureerd en u meer SNAT-poorten nodig hebt dan het standaardaantal toegewezen poorten, voert u de volgende stappen uit:

  1. Verhoog het aantal openbare IP-adressen op het uitgaande apparaat. Als het uitgaande apparaat de load balancer is, kunt u het aantal openbare IP-adressen op de load balancer verhogen.

  2. Verhoog de poorten per knooppunt voor uw AKS-werkknooppunten.

Disclaimerinformatie van derden

Microsoft biedt contactgegevens van derden om u te helpen aanvullende informatie over dit onderwerp te vinden. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert niet de nauwkeurigheid van contactgegevens van derden.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.