Udostępnij za pośrednictwem


Podstawowe rozwiązywanie problemów z połączeniem klastra z serwerem interfejsu API

W tym artykule omówiono problemy z połączeniem z klastrem usługi Azure Kubernetes Service (AKS), gdy nie można nawiązać połączenia z serwerem interfejsu API klastra za pośrednictwem narzędzia wiersza polecenia klastra Kubernetes (kubectl) lub dowolnego innego narzędzia, takiego jak używanie interfejsu API REST za pośrednictwem języka programowania.

Wymagania wstępne

Główna przyczyna i rozwiązania

Problemy z połączeniem z serwerem interfejsu API mogą wystąpić z wielu powodów, ale główna przyczyna jest często związana z błędem dotyczącym jednego z następujących elementów:

  • Sieć
  • Authentication
  • Autoryzacja

Te typowe kroki rozwiązywania problemów można wykonać, aby sprawdzić łączność z serwerem interfejsu API klastra usługi AKS:

  1. Wprowadź następujące polecenie az aks show w interfejsie wiersza polecenia platformy Azure. To polecenie pobiera w pełni kwalifikowaną nazwę domeny (FQDN) klastra usługi AKS.

    az aks show --resource-group <cluster-resource-group> --name <cluster-name> --query fqdn
    
  2. Za pomocą nazwy FQDN sprawdź, czy serwer interfejsu API jest osiągalny z komputera klienckiego przy użyciu wyszukiwania serwera nazw (nslookup), adresu URL klienta (curl) i poleceń telnet:

    # Check if the DNS Resolution is working:
    $ nslookup <cluster-fqdn>  
    
    # Then check if the API Server is reachable:
    $ curl -Iv https://<cluster-fqdn>
    $ telnet <cluster-fqdn> 443
    
  3. Jeśli klaster usługi AKS jest prywatny, upewnij się, że uruchamiasz polecenie z maszyny wirtualnej, która może uzyskać dostęp do usługi Azure Virtual Network klastra usługi AKS. Zobacz Opcje nawiązywania połączenia z klastrem prywatnym.

  4. W razie potrzeby wykonaj kroki opisane w artykule Rozwiązywanie problemów Adres IP klienta nie może uzyskać dostępu do serwera interfejsu API, dlatego serwer interfejsu API dodaje adres IP klienta do zakresów adresów IP, które autoryzuje.

  5. Upewnij się, że wersja narzędzia kubectl na komputerze klienckim nie jest dwie lub więcej wersji pomocniczych za wersją tego narzędzia klastra usługi AKS. Aby zainstalować najnowszą wersję narzędzia kubectl, uruchom polecenie az aks install-cli w interfejsie wiersza polecenia platformy Azure. Następnie możesz uruchomić polecenie kubectl version , aby sprawdzić numer wersji nowej instalacji.

    Na przykład w systemie Linux można uruchomić następujące polecenia:

    sudo az aks install-cli
    kubectl version --client
    

    W przypadku innych systemów operacyjnych klienta użyj tych instrukcji instalacji narzędzia kubectl.

  6. W razie potrzeby wykonaj kroki opisane w artykule Dotyczącym rozwiązywania problemów Plik konfiguracji jest niedostępny podczas nawiązywania połączenia, więc plik konfiguracji (config) platformy Kubernetes jest prawidłowy i można go znaleźć w czasie połączenia.

  7. W razie potrzeby wykonaj kroki opisane w artykule dotyczącym rozwiązywania problemów Użytkownik nie może pobrać zasobów klastra, aby wyświetlić szczegółowe informacje o węzłach klastra.

  8. Jeśli używasz zapory do kontrolowania ruchu wychodzącego z węzłów roboczych usługi AKS, upewnij się, że zapora zezwala na minimalne wymagane reguły ruchu wychodzącego dla usługi AKS.

  9. Upewnij się, że sieciowa grupa zabezpieczeń skojarzona z węzłami usługi AKS zezwala na komunikację na porcie TCP 10250 w węzłach usługi AKS.

Aby zapoznać się z innymi typowymi krokami rozwiązywania problemów, zobacz Limity czasu protokołu TCP, gdy narzędzie kubectl lub inne narzędzia innych firm łączą się z serwerem interfejsu API.

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 na temat platformy Azure.