Adres IP klienta nie może uzyskać dostępu do serwera interfejsu API

W tym artykule opisano sposób rozwiązywania problemów występujących, gdy nie można nawiązać połączenia z klastrem Azure Kubernetes Service (AKS), ponieważ adres IP klienta nie może uzyskać dostępu do serwera interfejsu API usługi AKS.

Wymagania wstępne

Symptomy

Mogą wystąpić następujące błędy:

Unable to connect to the server: dial tcp <API-SERVER-IP>:443: i/o timeout

Unable to connect to the server: dial tcp <API-SERVER-IP>:443: connectex: A connection attempt failed because the connected party did not properly respond after a period, or established connection failed because connected host has failed to respond.

Przyczyna

Zakresy adresów IP autoryzowanych przez serwer interfejsu API mogły zostać włączone na serwerze interfejsu API klastra, ale adres IP klienta nie został uwzględniony w zakresach adresów IP. Aby sprawdzić, czy ta funkcja została włączona, sprawdź, czy następujące polecenie az aks show w interfejsie wiersza polecenia platformy Azure tworzy listę zakresów adresów IP:

az aks show --resource-group <cluster-resource-group> \
    --name <cluster-name> \
    --query apiServerAccessProfile.authorizedIpRanges

Rozwiązanie

Przyjrzyj się zakresom autoryzowanym przez serwer interfejsu API klastra i dodaj adres IP klienta w tym zakresie, wykonując następujące kroki:

Uwaga

  1. Czy uzyskujesz dostęp do serwera interfejsu API z sieci firmowej, w której ruch jest kierowany przez serwer proxy lub zaporę? Następnie zapytaj administratora sieci przed dodaniem adresu IP klienta do listy autoryzowanych zakresów dla serwera interfejsu API.

  2. Skontaktuj się również z administratorem klastra przed dodaniem adresu IP klienta, ponieważ mogą wystąpić problemy z zabezpieczeniami związane z dodawaniem tymczasowego adresu IP do listy autoryzowanych zakresów.

  1. Pobierz adres IP klienta, uruchamiając następujące polecenie curl :

    $ curl --silent checkip.dyndns.org
    <html><head><title>Current IP Check</title></head><body>Current IP Address: 0.255.127.63</body></html>
    
  2. Zaktualizuj zakres autoryzowany przez serwer interfejsu API za pomocą polecenia az aks update w interfejsie wiersza polecenia platformy Azure przy użyciu adresu IP klienta:

    az aks update --resource-group <cluster-resource-group> \
        --name <cluster-name> \
        --api-server-authorized-ip-ranges <ip-ranges-that-include-your-client-ip-address>
    

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.