Debug di problemi comuni della CLI con i cluster
Virtual Private Cloud Infrastruttura classica
Riesamina i seguenti motivi comuni per i problemi di connessione o gli errori di comando della CLI.
Il firewall impedisce l'esecuzione dei comandi della CLI
Quando esegui i comandi ibmcloud, kubectl o calicoctl dalla CLI, hanno esito negativo.
Puoi avere delle politiche di rete aziendali che impediscono l'accesso dal tuo sistema locale agli endpoint pubblici tramite i proxy o i firewall
Consenti l'accesso TCP per il funzionamento dei comandi della CLI.
Questa attività richiede Ruolo di accesso della piattaforma Amministratore IBM Cloud IAM per il cluster.
I comandi kubectl non funzionano
Quando si eseguono i comandi di kubectl sul cluster, i comandi falliscono con un messaggio di errore simile al seguente esempio.
No resources found.
Error from server (NotAcceptable): unknown (get nodes)
invalid object doesn't have additional properties
error: No Auth Provider found for name "oidc"
Disponi di una versione differente di kubectl rispetto alla tua versione del cluster.
Kubernetes non supporta le versioni del client kubectl che differiscono di 2 o più versioni dalla versione del server (n +/- 2).
Se si utilizza un cluster comunitario Kubernetes, si potrebbe avere anche la versione Red Hat OpenShift di kubectl, che non funziona con i cluster comunitari Kubernetes.
Per controllare la versione kubectl del tuo cluster rispetto alla versione del server del cluster, esegui kubectl version --short.
Installa la versione della CLI che corrisponde alla versione del tuo cluster.
Se si dispone di più cluster con versioni diverse o piattaforme di contenitori diverse, come Red Hat OpenShift, scaricare ogni file binario della versione kubectl in una directory separata. Quindi, si può impostare un alias nel
profilo dell'interfaccia a riga di comando (CLI) locale per puntare alla directory dei file binari kubectl che corrisponde alla versione kubectl del cluster con cui si vuole lavorare, oppure si può usare uno strumento
come brew switch kubernetes-cli <major.minor>.
I comandi kubectl vanno in timeout
Se esegui comandi quali kubectl exec, kubectl attach, kubectl proxy, kubectl port-forward o kubectl logs, vedi il seguente messaggio.
<workerIP>:10250: getsockopt: connection timed out
kubectl -n kube-system logs metrics-server-65fc69c6b7-f682d -c metrics-server
Error from server: Get “https://10.38.193.213:10250/containerLogs/kube-system/metrics-server-65fc69c6b7-f682d/metrics-server”: EOF
kubectl -n kube-system exec -it metrics-server-65fc69c6b7-f682d -c metrics-server -- sh
Error from server: error dialing backend: EOF
Esamina e completa la seguente procedura per la tua versione del cluster.
- La versione 1.21 e successive della connessione VPN di Konnectivity tra il nodo master e i nodi di lavoro non funziona correttamente.
- Il cluster ha entrambi gli endpoint del servizio pubblico e privato abilitati.
- Gli endpoint del servizio o VRF non sono abilitati nell'account.
Per determinare se il VRF e gli endpoint del servizio sono abilitati nel tuo account, esegui ibmcloud account show. Cercate il seguente risultato.
VRF Enabled: true
Service Endpoint Enabled: true
Per determinare se il tuo cluster classico ha entrambi gli endpoint del servizio pubblico e privato abilitati, esegui ibmcloud ks cluster get -c <cluster_id>. Ricercare un output simile al seguente.
Public Service Endpoint URL: https://c105.<REGION>.containers.cloud.ibm.com:<port>
Private Service Endpoint URL: https://c105.private.<REGION>.containers.cloud.ibm.com:<port>
Se il tuo cluster soddisfa queste condizioni, abilita gli endpoint del servizio e VRF per l'account.