Saltar al contenido

¿Cómo soluciono los errores del clúster de Amazon EKS cuando uso un host bastión?

3 minutos de lectura
0

Cuando uso el cliente kubectl para conectarme a Amazon Elastic Kubernetes Service (Amazon EKS) desde mi host bastión, recibo el siguiente error: "error: exec plugin: invalid apiVersion "client.authentication.k8s.io/v1alpha1"". Quiero solucionar este problema.

Resolución

Recibes el error invalid apiVersion cuando la versión de kubectl que estás usando no es compatible con la versión de la API de tu clúster de Kubernetes. Este error suele producirse cuando utilizas una versión anterior de la Interfaz de la línea de comandos de AWS (AWS CLI) para actualizar el archivo kubeconfig en $home/.kube/config. Para resolver este problema, actualiza la AWS CLI a la versión más reciente. A continuación, actualiza de nuevo el archivo kubeconfig. Al actualizar el archivo kubeconfig, el campo apiVersion del archivo kubeconfig se actualiza a la versión más reciente (v1beta1).

Actualización a la versión más reciente de la AWS CLI

Instala o actualiza a la versión más reciente de la AWS CLI.

Nota: Si se muestran errores al ejecutar comandos de la AWS CLI, consulta Solución de errores para la AWS CLI.

Instalación de una versión de kubectl compatible

Nota: Debes usar una versión de kubectl que se encuentre en una diferencia de una versión secundaria con respecto al plano de control del clúster de Amazon EKS. Por ejemplo, el cliente kubectl 1.28 funciona con los clústeres de Kubernetes 1.27, 1.28 y 1.29.

Para instalar una versión de kubectl compatible con la versión de tu clúster de Amazon EKS, sigue estos pasos:

  1. Para descargar kubectl, ejecuta el siguiente 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: Sustituye linux por tu sistema operativo, arm64 por tu distribución y 1.29 por tu versión de Kubernetes.

  2. Copia el archivo kubectl descargado en una carpeta de tu ruta. Si ya has instalado una versión de kubectl, crea un $HOME/bin/kubectl:

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

    Nota: Primero debes incluir $HOME/bin en el $PATH.

  3. Para comprobar la versión instalada de kubectl, ejecuta el siguiente comando:

       $ kubectl version --client
  4. (Opcional) Añade la ruta $HOME/bin al archivo de inicialización del shell:

       $ echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc
  5. Para actualizar tu archivo kubeconfig de v1alpha1 a v1beta1, ejecuta el siguiente comando:

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

    Nota: Sustituye clusterName por el nombre de tu clúster y regionName por tu región de AWS.

  6. Para comprobar si puedes conectarte al clúster, ejecuta el siguiente comando:

      $ kubectl get svc
      $ kubectl get pod
OFICIAL DE AWSActualizada hace 2 años