Diagnosticare i problemi di connessione per i cluster Kubernetes abilitati per Azure Arc

Se si verificano problemi durante la connessione di un cluster ad Azure Arc, è probabilmente dovuto a uno dei problemi elencati qui. Vengono forniti due diagrammi di flusso con guida guidata: uno se non si usa un server proxy e uno che si applica se la connessione di rete usa un server proxy.

Suggerimento

La procedura descritta in questo diagramma di flusso si applica se si usa l'interfaccia della riga di comando di Azure o Azure PowerShell per connettere il cluster. Tuttavia, alcuni dei passaggi richiedono l'uso dell'interfaccia della riga di comando di Azure. Se l'interfaccia della riga di comando di Azure non è già stata installata, assicurarsi di farlo prima di iniziare.

Connessione ions senza proxy

Esaminare questo diagramma di flusso per diagnosticare il problema quando si tenta di connettere un cluster ad Azure Arc senza un server proxy. Di seguito sono riportati altri dettagli su ogni passaggio.

Flowchart showing a visual representation of checking for connection issues when not using a proxy.

L'identità di Azure dispone di autorizzazioni sufficienti?

Esaminare i prerequisiti per la connessione di un cluster e assicurarsi che l'identità usata per connettere il cluster disponga delle autorizzazioni necessarie.

Si sta eseguendo la versione più recente dell'interfaccia della riga di comando di Azure?

Assicurarsi di avere installato la versione più recente.

Se il cluster è stato connesso usando Azure PowerShell, assicurarsi di eseguire la versione più recente.

L'estensione è la connectedk8s versione più recente?

Aggiornare l'estensione dell'interfaccia della riga di comando di Azure connectedk8s alla versione più recente eseguendo questo comando:

az extension update --name connectedk8s

Se l'estensione non è ancora stata installata, è possibile farlo eseguendo il comando seguente:

az extension add --name connectedk8s

Kubeconfig punta al cluster corretto?

Eseguire kubectl config get-contexts per confermare il nome del contesto di destinazione. Impostare quindi il contesto predefinito sul cluster corretto eseguendo kubectl config use-context <target-cluster-name>.

Tutti i provider di risorse necessari sono registrati?

Assicurarsi che i provider di risorse Microsoft.Kubernetes, Microsoft.KubernetesConfiguration e Microsoft.ExtendedLocation siano registrati.

Tutti i requisiti di rete sono soddisfatti?

Esaminare i requisiti di rete e assicurarsi che non siano bloccati gli endpoint necessari.

Tutti i pod nello spazio dei azure-arc nomi sono in esecuzione?

Se tutto funziona correttamente, i pod devono trovarsi tutti nello Running stato. Eseguire kubectl get pods -n azure-arc per verificare se lo stato di un pod non Runningè .

Ancora problemi?

I passaggi precedenti risolveranno molti problemi di connessione comuni, ma se non è ancora possibile connettersi correttamente, generare un file di log per la risoluzione dei problemi e quindi aprire una richiesta di supporto in modo da poter analizzare ulteriormente il problema.

Per generare il file di log per la risoluzione dei problemi, eseguire il comando seguente:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

Quando si crea la richiesta di supporto, nella sezione Dettagli aggiuntivi usare l'opzione Caricamento file per caricare il file di log generato.

Connessione ions con un server proxy

Se si usa un server proxy in almeno un computer, completare i primi cinque passaggi del diagramma di flusso non proxy (tramite registrazione del provider di risorse) per i passaggi di base per la risoluzione dei problemi. Se si verificano ancora problemi, vedere il diagramma di flusso successivo per ulteriori passaggi per la risoluzione dei problemi. Di seguito sono riportati altri dettagli su ogni passaggio.

Flowchart showing a visual representation of checking for connection issues when using a proxy.

Il computer esegue comandi dietro un server proxy?

Se il computer esegue comandi dietro un server proxy, è necessario impostare tutte le variabili di ambiente necessarie. Per altre informazioni, vedere Connessione uso di un server proxy in uscita.

Ad esempio:

export HTTP_PROXY="http://<proxyIP>:<proxyPort>"
export HTTPS_PROXY="https://<proxyIP>:<proxyPort>"
export NO_PROXY="<cluster-apiserver-ip-address>:<proxyPort>"

Il server proxy accetta solo certificati attendibili?

Assicurarsi di includere il percorso del file di certificato includendo --proxy-cert <path-to-cert-file> quando si esegue il az connectedk8s connect comando .

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-cert <path-to-cert-file>

Il server proxy è in grado di raggiungere gli endpoint di rete necessari?

Esaminare i requisiti di rete e assicurarsi che non siano bloccati gli endpoint necessari.

Il server proxy usa solo HTTP?

Se il server proxy usa solo HTTP, è possibile usare proxy-http per entrambi i parametri.

Se il server proxy è configurato con HTTP e HTTPS, eseguire il az connectedk8s connect comando con i --proxy-https parametri e --proxy-http specificati. Assicurarsi di usare --proxy-http per il proxy HTTP e --proxy-https per il proxy HTTPS.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port>  

Il server proxy richiede intervalli skip per la comunicazione da servizio a servizio?

Se è necessario ignorare gli intervalli, usare --proxy-skip-range <excludedIP>,<excludedCIDR> nel az connectedk8s connect comando.

az connectedk8s connect --name <cluster-name> --resource-group <resource-group> --proxy-https https://<proxy-server-ip-address>:<port> --proxy-http http://<proxy-server-ip-address>:<port> --proxy-skip-range <excludedIP>,<excludedCIDR>

Tutti i pod nello spazio dei azure-arc nomi sono in esecuzione?

Se tutto funziona correttamente, i pod devono trovarsi tutti nello Running stato. Eseguire kubectl get pods -n azure-arc per verificare se lo stato di un pod non Runningè .

Ancora problemi?

I passaggi precedenti risolveranno molti problemi di connessione comuni, ma se non è ancora possibile connettersi correttamente, generare un file di log per la risoluzione dei problemi e quindi aprire una richiesta di supporto in modo da poter analizzare ulteriormente il problema.

Per generare il file di log per la risoluzione dei problemi, eseguire il comando seguente:

az connectedk8s troubleshoot -g <myResourceGroup> -n <myK8sCluster>

Quando si crea la richiesta di supporto, nella sezione Dettagli aggiuntivi usare l'opzione Caricamento file per caricare il file di log generato.

Passaggi successivi