Grundläggande felsökning av problem med klusteranslutning med API-servern
I den här artikeln beskrivs anslutningsproblem till ett AKS-kluster (Azure Kubernetes Service) 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
Problem med att ansluta till API-servern kan uppstå av många orsaker, men rotorsaken är ofta relaterad till ett fel med något av följande alternativ:
- Nätverk
- Autentisering
- Auktorisering
Du kan utföra de här vanliga felsökningsstegen för att kontrollera anslutningen till AKS-klustrets API-server:
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
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
Om AKS-klustret är privat kontrollerar du att du kör kommandot från en virtuell dator (VM) som har åtkomst till AKS-klustrets virtuella Azure-nätverk. Se Alternativ för att ansluta till det privata klustret.
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.
Kontrollera att kubectl-versionen på klientdatorn inte är två eller flera mindre versioner 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
För andra klientoperativsystem använder du dessa kubectl-installationsanvisningar.
Om det behövs följer du stegen i felsökningsartikeln Konfigurationsfilen är inte tillgänglig när du ansluter, så kubernetes-konfigurationsfilen (konfigurationsfilen) är giltig och kan hittas vid anslutningstiden.
Om det behövs följer du stegen i felsökningsartikeln Användare kan inte hämta klusterresurser, så du kan visa information om dina klusternoder.
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 obligatoriska utgående reglerna för AKS.
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 TCP-timeouter när kubectl eller andra verktyg från tredje part 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.