Verbindingsproblemen vaststellen voor Kubernetes-clusters met Azure Arc

Als u problemen ondervindt bij het verbinden van een cluster met Azure Arc, is dit waarschijnlijk het gevolg van een van de hier vermelde problemen. We bieden twee stroomdiagrammen met begeleide hulp: één als u geen proxyserver gebruikt en een die van toepassing is als uw netwerkverbinding gebruikmaakt van een proxyserver.

Fooi

De stappen in dit stroomdiagram zijn van toepassing, ongeacht of u Azure CLI of Azure PowerShell gebruikt om verbinding te maken met uw cluster. Voor sommige van de stappen is echter het gebruik van Azure CLI vereist. Als u Azure CLI nog niet hebt geïnstalleerd, moet u dit doen voordat u begint.

Verbinding maken ionen zonder proxy

Bekijk dit stroomdiagram om uw probleem vast te stellen wanneer u een cluster probeert te verbinden met Azure Arc zonder een proxyserver. Hieronder vindt u meer informatie over elke stap.

Flowchart showing a visual representation of checking for connection issues when not using a proxy.

Beschikt de Azure-identiteit over voldoende machtigingen?

Controleer de vereisten voor het verbinden van een cluster en zorg ervoor dat de identiteit die u gebruikt om verbinding te maken met het cluster over de benodigde machtigingen beschikt.

Voert u de nieuwste versie van Azure CLI uit?

Zorg ervoor dat u de nieuwste versie hebt geïnstalleerd.

Als u uw cluster hebt verbonden met behulp van Azure PowerShell, controleert u of u de nieuwste versie gebruikt.

Is de connectedk8s extensie de nieuwste versie?

Werk de Azure CLI-extensie connectedk8s bij naar de nieuwste versie door deze opdracht uit te voeren:

az extension update --name connectedk8s

Als u de extensie nog niet hebt geïnstalleerd, kunt u dit doen door de volgende opdracht uit te voeren:

az extension add --name connectedk8s

Verwijst kubeconfig naar het juiste cluster?

Voer uit kubectl config get-contexts om de naam van de doelcontext te bevestigen. Stel vervolgens de standaardcontext in op het juiste cluster door uit te voeren kubectl config use-context <target-cluster-name>.

Zijn alle vereiste resourceproviders geregistreerd?

Zorg ervoor dat de resourceproviders Microsoft.Kubernetes, Microsoft.KubernetesConfiguration en Microsoft.ExtendedLocation zijn geregistreerd.

Voldoet aan alle netwerkvereisten?

Controleer de netwerkvereisten en zorg ervoor dat er geen vereiste eindpunten worden geblokkeerd.

Worden alle pods in de azure-arc naamruimte uitgevoerd?

Als alles correct werkt, moeten uw pods allemaal de Running status hebben. Voer uit kubectl get pods -n azure-arc om te controleren of de status van een pod niet Runningis.

Nog steeds problemen?

Met de bovenstaande stappen worden veel veelvoorkomende verbindingsproblemen opgelost, maar als u nog steeds geen verbinding kunt maken, genereert u een logboekbestand voor probleemoplossing en opent u vervolgens een ondersteuningsaanvraag , zodat we het probleem verder kunnen onderzoeken.

Voer de volgende opdracht uit om het logboekbestand voor probleemoplossing te genereren:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

Wanneer u uw ondersteuningsaanvraag maakt, gebruikt u in de sectie Aanvullende details de optie Bestand uploaden om het gegenereerde logboekbestand te uploaden.

Verbinding maken ions met een proxyserver

Als u een proxyserver op ten minste één computer gebruikt, voert u de eerste vijf stappen van het niet-proxystroomdiagram (via de registratie van de resourceprovider) uit voor basisstappen voor probleemoplossing. Als u nog steeds problemen ondervindt, raadpleegt u het volgende stroomdiagram voor aanvullende stappen voor probleemoplossing. Hieronder vindt u meer informatie over elke stap.

Flowchart showing a visual representation of checking for connection issues when using a proxy.

Voert de computer opdrachten uit achter een proxyserver?

Als de machine opdrachten uitvoert achter een proxyserver, moet u alle benodigde omgevingsvariabelen instellen. Zie Verbinding maken een uitgaande proxyserver gebruiken voor meer informatie.

Bijvoorbeeld:

export HTTP_PROXY="http://<proxyIP>:<proxyPort>"
export HTTPS_PROXY="https://<proxyIP>:<proxyPort>"
export NO_PROXY="<cluster-apiserver-ip-address>:<proxyPort>"

Accepteert de proxyserver alleen vertrouwde certificaten?

Zorg ervoor dat u het pad naar het certificaatbestand opneemt door op te nemen --proxy-cert <path-to-cert-file> bij het uitvoeren van de az connectedk8s connect opdracht.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>

Kan de proxyserver de vereiste netwerkeindpunten bereiken?

Controleer de netwerkvereisten en zorg ervoor dat er geen vereiste eindpunten worden geblokkeerd.

Gebruikt de proxyserver alleen HTTP?

Als uw proxyserver alleen HTTP gebruikt, kunt u voor beide parameters gebruiken proxy-http .

Als uw proxyserver is ingesteld met zowel HTTP als HTTPS, voert u de az connectedk8s connect opdracht uit met de --proxy-https opgegeven parameters en --proxy-http de parameters. Zorg ervoor dat u voor de HTTP-proxy en --proxy-https voor de HTTPS-proxy gebruikt--proxy-http.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port>  

Vereist de proxyserver skip-bereiken voor service-naar-service-communicatie?

Als u skip ranges nodig hebt, gebruikt --proxy-skip-range <excludedIP>,<excludedCIDR> u deze in uw az connectedk8s connect opdracht.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR>

Worden alle pods in de azure-arc naamruimte uitgevoerd?

Als alles correct werkt, moeten uw pods allemaal de Running status hebben. Voer uit kubectl get pods -n azure-arc om te controleren of de status van een pod niet Runningis.

Nog steeds problemen?

Met de bovenstaande stappen worden veel veelvoorkomende verbindingsproblemen opgelost, maar als u nog steeds geen verbinding kunt maken, genereert u een logboekbestand voor probleemoplossing en opent u vervolgens een ondersteuningsaanvraag , zodat we het probleem verder kunnen onderzoeken.

Voer de volgende opdracht uit om het logboekbestand voor probleemoplossing te genereren:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

Wanneer u uw ondersteuningsaanvraag maakt, gebruikt u in de sectie Aanvullende details de optie Bestand uploaden om het gegenereerde logboekbestand te uploaden.

Volgende stappen