Grundläggande felsökning av problem med klusteranslutning med API-servern

Den här artikeln beskriver anslutningsproblem till ett Azure Kubernetes Service kluster (AKS) när du inte kan nå klustrets API-server via Kubernetes-klustrets kommandoradsverktyg (kubectl) eller något annat verktyg, till exempel att använda REST API via ett programmeringsspråk.

Förutsättningar

Rotorsak och lösningar

Anslutningsproblem till API-servern kan inträffa av många orsaker, men rotorsaken är ofta relaterad till ett fel med något av följande objekt:

  • Nätverk
  • Autentisering
  • Tillstånd

Du kan utföra dessa vanliga felsökningssteg för att kontrollera anslutningen till AKS-klustrets API-server:

  1. Ange följande az aks show-kommando i Azure CLI. Det här kommandot hämtar det fullständigt kvalificerade domännamnet (FQDN) för ditt AKS-kluster.

    az aks show --resource-group <cluster-resource-group> --name <cluster-name> --query fqdn
    
  2. Med FQDN kontrollerar du om API-servern kan nås från klientdatorn med hjälp av namnserversökningen (nslookup), klient-URL:en (curl) och telnet-kommandona :

    # 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. Om AKS-klustret är privat kontrollerar du att du kör kommandot från en virtuell dator (VM) som har åtkomst till AKS-klustrets Azure-Virtual Network. Se Alternativ för att ansluta till det privata klustret.

  4. Om det behövs följer du stegen i felsökningsartikeln Klientens IP-adress kan inte komma åt API-servern, så API-servern lägger till din klient-IP-adress till de IP-intervall som den auktoriserar.

  5. Kontrollera att versionen av kubectl på klientdatorn inte är två eller flera delversioner bakom AKS-klustrets version av verktyget. Om du vill installera den senaste versionen av kubectl kör du kommandot az aks install-cli i Azure CLI. Du kan sedan köra kommandot kubectl-version för att kontrollera versionsnumret för den nya installationen.

    I Linux skulle du till exempel köra följande kommandon:

    sudo az aks install-cli
    kubectl version --client
    

    Använd de här kubectl-installationsanvisningarna för andra klientoperativsystem.

  6. Om det behövs följer du stegen i felsökningsartikeln Konfigurationsfilen är inte tillgänglig när du ansluter, så kubernetes-konfigurationsfilen (config) är giltig och kan hittas vid anslutningstiden.

  7. Om det behövs följer du stegen i felsökningsartikeln Användare kan inte hämta klusterresurser, så att du kan visa information om dina klusternoder.

  8. Om du använder en brandvägg för att styra utgående trafik från AKS-arbetsnoder kontrollerar du att brandväggen tillåter de lägsta nödvändiga utgående reglerna för AKS.

  9. Kontrollera att nätverkssäkerhetsgruppen som är associerad med AKS-noder tillåter kommunikation på TCP-port 10250 inom AKS-noderna.

Andra vanliga felsökningssteg finns i Jag får TCP-timeouter när du använder kubectl eller andra verktyg från tredje part som ansluter till API-servern.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.