Risolvere i problemi comuni
Questa pagina mostra come risolvere i problemi comuni di GKE su Azure.
Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.Messaggi di errore comuni
Le sezioni seguenti spiegano le cause e le soluzioni di alcuni messaggi di errore comuni.
Il server non ha una risorsa
Errori come error: the server doesn't have a resource type "services"
possono verificarsi quando un cluster non ha pool di nodi in esecuzione o quando il gateway Connect non riesce a connettersi a un pool di nodi. Per controllare lo stato dei pool di nodi, esegui il seguente comando:
gcloud container azure node-pools list \
--cluster-name CLUSTER_NAME \
--location LOCATION
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del clusterLOCATION
: la Google Cloud posizione che gestisce il tuo cluster
L'output include lo stato dei pool di nodi del cluster. Se non hai un pool di nodi elencato, creane uno.
Utente vietato
Quando il tuo nome utente non dispone dell'accesso amministrativo al cluster, si verifica il seguente errore:
Error from server (Forbidden): users "administrator@example.com" is forbidden:
User "system:serviceaccount:gke-connect:connect-agent-sa" cannot impersonate
resource "users" in API group "" at the cluster scope
Puoi configurare utenti aggiuntivi passando il flag --admin-users
quando crei un cluster.
Se utilizzi il gateway Connect e non riesci a connetterti al cluster, prova a svolgere i seguenti passaggi:
Ottieni gli utenti autorizzati per il tuo cluster.
gcloud container azure clusters describe CLUSTER_NAME \ --format 'value(authorization.admin_users)'
Sostituisci
CLUSTER_NAME
con il nome del cluster.L'output include i nomi utente con accesso amministrativo al cluster. Ad esempio:
{'username': 'administrator@example.com'}
Recupera il nome utente attualmente autenticato con Google Cloud CLI.
gcloud config get-value account
L'output include l'account autenticato con Google Cloud CLI. Se l'output di
gcloud containers azure clusters describe
egcloud config get-value account
non corrisponde, eseguigcloud auth login
e effettua l'autenticazione come nome utente con accesso amministrativo al cluster.
Problemi con i comandi kubectl
Le sezioni seguenti forniscono indicazioni su come risolvere i problemi relativi ai comandi kubectl
non rispondenti o non riusciti.
I comandi kubectl smettono di rispondere
Se il tuo cluster esegue una versione di Kubernetes precedente alla 1.25 e i comandi kubectl
non rispondono o il tempo di attesa scade, il motivo più comune è che non hai ancora creato un pool di nodi. Per impostazione predefinita, GKE on Azure genera file kubeconfig
che utilizzano il gateway Connect come endpoint raggiungibile tramite internet.
Affinché funzioni, il deployment gke-connect-agent
deve essere in esecuzione in un pool di nodi del cluster.
Per ulteriori informazioni di diagnostica, esegui il seguente comando:
kubectl cluster-info -v=9
Se non sono presenti pool di nodi in esecuzione, le richieste a
connectgateway.googleapis.com
non vanno a buon fine con un errore 404
cannot find active connections for cluster
.
Per i cluster con una versione di Kubernetes 1.25 o successiva, gke-connect-agent
viene eseguito sul piano di controllo e non è richiesto un pool di nodi. Se il comando kubectl
non risponde, controlla i log del componente del piano di controllo con Cloud Logging.
I comandi kubectl exec, attach e port-forward non vanno a buon fine
I comandi kubectl exec
, kubectl attach
e kubectl port-forward
potrebbero non riuscire con il messaggio error: unable to upgrade connection
quando si utilizza il gateway Connect. Si tratta di una limitazione quando utilizzi il gateway Connect come endpoint del server API Kubernetes.
Per risolvere il problema, utilizza un kubeconfig
che specifichi l'endpoint privato del cluster. Per istruzioni su come accedere al cluster tramite il suo
endpoint privato, consulta
Configurare l'accesso ai cluster per kubectl.
Risoluzione dei problemi generici di kubectl
Se utilizzi Connect Gateway:
Assicurati di aver attivato il gateway Connect nel tuo Google Cloud progetto:
gcloud services enable connectgateway.googleapis.com
Per i cluster con una versione di Kubernetes precedente alla 1.25, assicurati di avere almeno un pool di nodi Linux in esecuzione e che
gke-connect-agent
sia in esecuzione. Per maggiori dettagli, consulta Risolvere i problemi di connessione del cluster.Per i cluster con una versione di Kubernetes 1.25 o successiva, controlla i log
gke-connect-agent
con Cloud Logging.
Passaggi successivi
- Se hai bisogno di ulteriore assistenza, contatta l'assistenza clienti Google Cloud.