Salta al contenuto

Come posso risolvere gli errori del cluster Amazon EKS quando utilizzo un host bastione?

3 minuti di lettura
0

Quando utilizzo il client kubectl per connettermi ad Amazon Elastic Kubernetes Service (Amazon EKS) dal mio host bastione, ricevo il seguente errore: "error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"". Desidero risolvere il problema.

Risoluzione

Ricevi l'errore invalid apiVersion quando la versione di kubectl che utilizzi non è compatibile con la versione API del cluster Kubernetes. L'errore si verifica in genere quando utilizzi una versione precedente dell'Interfaccia della linea di comando AWS (AWS CLI) per aggiornare il file kubeconfig in $home/.kube/config. Per risolvere il problema, aggiorna AWS CLI alla versione più recente. Quindi aggiorna nuovamente il file kubeconfig. Quando aggiorni il file kubeconfig, il campo apiVersion nel file kubeconfig si aggiorna alla versione più recente (v1beta1).

Esegui l'upgrade alla versione più recente di AWS CLI

Installa o aggiorna alla versione più recente di AWS CLI.

Nota: se visualizzi messaggi di errore quando esegui comandi AWS CLI, consulta la sezione Risoluzione degli errori relativi a AWS CLI.

Installa una versione di kubectl supportata

Nota: rispetto alla versione del piano di controllo (control-plane) del cluster Amazon EKS, la versione di kubectl può essere solo successiva o antecedente di una versione secondaria. Ad esempio, un client kubectl 1.28 può funzionare solamente con cluster Kubernetes 1.27, 1.28 e 1.29.

Per installare una versione di kubectl supportata per la versione del cluster Amazon EKS, completa i seguenti passaggi:

  1. Per scaricare kubectl, esegui questo comando:

        $ curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.29.3/2024-04-19/bin/linux/arm64/kubectl.sha256
        $ chmod +x ./kubectl

    Nota: sostituisci linux con il tuo sistema operativo, arm64 con la tua distribuzione e 1.29 con la tua versione di Kubernetes.

  2. Copia il file kubectl scaricato in una cartella del percorso scelto. Se hai già installato una versione di kubectl, crea un $HOME/bin/kubectl:

       $ mkdir -p $HOME/bin && cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH

    Nota: devi prima aggiungere $HOME/bin a $PATH.

  3. Per verificare la versione di kubectl installata, esegui questo comando:

       $ kubectl version --client
  4. (Facoltativo) Aggiungi il percorso $HOME/bin al file di inizializzazione della shell:

       $ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
  5. Per aggiornare il file kubeconfig da v1alpha1 a v1beta1, esegui questo comando:

       $ aws eks update-kubeconfig --name clusterName --region regionName

    Nota: sostituisci clusterName con il nome del tuo cluster e regionName con la tua Regione AWS.

  6. Per verificare se riesci a connetterti al cluster, esegui questo comando:

      $ kubectl get svc
      $ kubectl get pod
AWS UFFICIALEAggiornata un anno fa