Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Conexión de kubectl a un clúster de EKS mediante la creación de un archivo kubeconfig
En este tema, creará un archivo kubeconfig para su clúster (o actualizará uno existente).
La herramienta de línea de comandos kubectl usa la información de configuración en los archivos kubeconfig para comunicarse con el servidor de API de un clúster. Para obtener más información, consulte Organizing Cluster Access Using kubeconfig Files
Amazon EKS usa el comando aws eks get-token con kubectl para la autenticación del clúster. De forma predeterminada, la CLI de AWS utiliza las mismas credenciales que se devuelven con el siguiente comando:
aws sts get-caller-identity
-
Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS.
-
La herramienta de línea de comandos de
kubectlestá instalada en su dispositivo o AWS CloudShell. La versión puede ser la misma o hasta una versión secundaria anterior o posterior a la versión de Kubernetes de su clúster. Por ejemplo, si la versión del clúster es1.29, puede usar la versión1.28,1.29o1.30dekubectlcon él. Para instalar o actualizarkubectl, consulte Configuración de kubectl y eksctl. -
La versión
2.12.3o posterior, o bien, la versión1.27.160o posterior de la AWS interfaz de la línea de comandos (AWS CLI) instalada y configurada en su dispositivo o AWS CloudShell. Para comprobar su versión actual, utiliceaws --version | cut -d / -f2 | cut -d ' ' -f1. Los administradores de paquetes, comoyum,apt-geto Homebrew para macOS, suelen estar atrasados varias versiones respecto de la versión de la AWS CLI más reciente. Para instalar la versión más reciente, consulte Instalación y Configuración rápida con aws configure en la Guía del usuario de la interfaz de la línea de comandos de AWS. La versión de AWS CLI instalada en AWS CloudShell también puede estar atrasada varias versiones respecto de la versión más reciente. Para actualizarla, consulte Instalación de la CLI de AWS en su directorio principal en la Guía del usuario de AWS CloudShell. -
Un rol o usuario de IAM con permisos para utilizar la acción de API
eks:DescribeClusteren el clúster que especifique. Para obtener más información, consulte Ejemplos de políticas de Amazon EKS basadas en identidades. Si utiliza una identidad de su propio proveedor de OpenID Connect para acceder al clúster, consulte Using kubectlen la documentación de Kubernetes para crear o actualizar el archivo de kube config.
Crear el archivo kubeconfig de forma automática
-
La versión
2.12.3o posterior, o bien, la versión1.27.160o posterior de la Interfaz de la línea de comandos de AWS (AWS CLI) instalada y configurada en su dispositivo o AWS CloudShell. Para comprobar su versión actual, utiliceaws --version | cut -d / -f2 | cut -d ' ' -f1. Los administradores de paquetes, comoyum,apt-geto Homebrew para macOS, suelen estar atrasados varias versiones respecto de la versión de la AWS CLI más reciente. Para instalar la versión más reciente, consulte Instalación y Configuración rápida con aws configure en la Guía del usuario de la interfaz de la línea de comandos de AWS. La versión de AWS CLI instalada en AWS CloudShell también puede estar atrasada varias versiones respecto de la versión más reciente. Para actualizarla, consulte Instalación de la CLI de AWS en su directorio principal en la Guía del usuario de AWS CloudShell. -
Permiso para usar la acción de API
eks:DescribeClusteren el clúster que especifique. Para obtener más información, consulte Ejemplos de políticas de Amazon EKS basadas en identidades.-
Creación o actualización de un archivo de
kubeconfigpara el clúster. Reemplaceregion-codepor la región de AWS donde creó el clúster ymy-clusterpor el nombre de su clúster.aws eks update-kubeconfig --region region-code --name my-clusterDe forma predeterminada, el archivo de configuración resultante se crea en la ruta de
kubeconfigpredeterminada (.kube) en el directorio de inicio o en combinación con un archivoconfigexistente en dicha ubicación. Puede especificar otra ruta con la opción--kubeconfig.Puede especificar un ARN de rol de IAM con la opción
--role-arnpara utilizar en la autenticación al emitir comandoskubectl. De lo contrario, se utilizará la entidad principal de IAM de la CLI predeterminada o la cadena de credencial del SDK de AWS. Puede ver su identidad de la CLI o el SDK predeterminados de AWS ejecutando el comandoaws sts get-caller-identity.Para ver todas las opciones disponibles, ejecute el comando
aws eks update-kubeconfig helpo consulte update-kubeconfig en la Referencia de los comandos de la CLI de AWS. -
Pruebe la configuración.
kubectl get svcUn ejemplo de salida sería el siguiente.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1mSi recibe cualquier error de tipo de recurso o autorización, consulte Acceso denegado o no autorizado (kubectl) en el tema de solución de problemas.
-