Risoluzione di base dei problemi di connessione del cluster con il server API

Questo articolo illustra i problemi di connessione a un cluster servizio Azure Kubernetes (servizio Azure Kubectl) quando non è possibile raggiungere il server API del cluster tramite lo strumento da riga di comando del cluster Kubernetes (kubectl) o qualsiasi altro strumento, ad esempio l'uso dell'API REST tramite un linguaggio di programmazione.

Prerequisiti

Causa radice e soluzioni

I problemi di connessione al server API possono verificarsi per molti motivi, ma la causa radice è spesso correlata a un errore con uno di questi elementi:

  • Rete
  • Autenticazione
  • Autorizzazione

È possibile eseguire questi passaggi comuni per la risoluzione dei problemi per verificare la connettività al server API del cluster del servizio Azure Kubernetes:

  1. Immettere il comando az aks show seguente nell'interfaccia della riga di comando di Azure. Questo comando ottiene il nome di dominio completo (FQDN) del cluster del servizio Azure Kubernetes.

    az aks show --resource-group <cluster-resource-group> --name <cluster-name> --query fqdn
    
  2. Con il nome di dominio completo controllare se il server API è raggiungibile dal computer client usando la ricerca del server dei nomi (nslookup), l'URL client (curl) e i comandi 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. Se il cluster del servizio Azure Kubernetes è privato, assicurarsi di eseguire il comando da una macchina virtuale in grado di accedere alla Rete virtuale di Azure del cluster del servizio Azure Kubernetes. Vedere Opzioni per la connessione al cluster privato.

  4. Se necessario, seguire la procedura descritta nell'articolo Sulla risoluzione dei problemi L'indirizzo IP client non può accedere al server API, quindi il server API aggiunge l'indirizzo IP client agli intervalli IP autorizzati.

  5. Assicurarsi che la versione di kubectl nel computer client non sia due o più versioni secondarie dietro la versione del cluster del servizio Azure Kubernetes di tale strumento. Per installare la versione più recente di kubectl, eseguire il comando az aks install-cli nell'interfaccia della riga di comando di Azure. È quindi possibile eseguire il comando kubectl version per controllare il numero di versione della nuova installazione.

    Ad esempio, in Linux si eseguono questi comandi:

    sudo az aks install-cli
    kubectl version --client
    

    Per altri sistemi operativi client, usare queste istruzioni di installazione kubectl.

  6. Se necessario, seguire la procedura descritta nell'articolo Sulla risoluzione dei problemi Il file di configurazione non è disponibile durante la connessione, quindi il file di configurazione (config) di Kubernetes è valido e può essere trovato in fase di connessione.

  7. Se necessario, seguire la procedura descritta nell'articolo Sulla risoluzione dei problemi L'utente non può ottenere risorse del cluster, quindi è possibile elencare i dettagli dei nodi del cluster.

  8. Se si usa un firewall per controllare il traffico in uscita dai nodi di lavoro del servizio Azure Kubernetes, assicurarsi che il firewall consenta le regole di uscita minime necessarie per il servizio Azure Kubernetes.

  9. Assicurarsi che il gruppo di sicurezza di rete associato ai nodi del servizio Azure Kubernetes consenta la comunicazione sulla porta TCP 10250 all'interno dei nodi del servizio Azure Kubernetes.

Per altri passaggi comuni per la risoluzione dei problemi, vedere Ricezione di timeout TCP quando si usa kubectl o altri strumenti di terze parti che si connettono al server API.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.