Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
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 Organización del acceso al clúster mediante archivos kubeconfig
Amazon EKS usa el comando aws eks get-token
con kubectl
para la autenticación del clúster. De forma predeterminada, la AWS CLI utiliza las mismas credenciales que se devuelven con el siguiente comando:
aws sts get-caller-identity
Requisitos previos
-
Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS.
-
La herramienta de línea de comandos de
kubectl
está 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.30
, puede usar la versión1.29
,1.30
o1.31
dekubectl
con él. Para instalar o actualizarkubectl
, consulte Configuración de kubectl y eksctl. -
La versión
2.12.3
o posterior, o bien, la versión1.27.160
o posterior de la AWS Command Line Interface (AWS CLI) instalada y configurada en su dispositivo o AWS CloudShell. Para comprobar su versión actual, utilice
. Los administradores de paquetes tales comoaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
o 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 Instalar, actualizar y desinstalar la AWS CLI y Configuración rápida con aws configure en la Guía del usuario de AWS Command Line Interface. 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 AWS CLI en el directorio de inicio 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:DescribeCluster
en 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 Uso dekubectl
en la documentación de Kubernetes para crear o actualizar el archivo de kube config
.
Crear el archivo kubeconfig
de forma automática
Requisitos previos
-
La versión
2.12.3
o posterior, o bien, la versión1.27.160
o posterior de la AWS Command Line Interface (AWS CLI) instalada y configurada en su dispositivo o AWS CloudShell. Para comprobar su versión actual, utilice
. Los administradores de paquetes tales comoaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
o 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 Instalar, actualizar y desinstalar la AWS CLI y Configuración rápida con aws configure en la Guía del usuario de AWS Command Line Interface. 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 AWS CLI en el directorio de inicio en la Guía del usuario de AWS CloudShell. -
Permiso para usar la acción de API
eks:DescribeCluster
en el clúster que especifique. Para obtener más información, consulte Ejemplos de políticas de Amazon EKS basadas en identidades.
Para crear el archivo kubeconfig
con la AWS CLI
-
Cree o actualice un archivo de
kubeconfig
para el clúster. Reemplaceregion-code
con la Región de AWS en la que se encuentra su clúster y reemplacemy-cluster
con el nombre del clúster.aws eks update-kubeconfig --region
region-code
--namemy-cluster
De forma predeterminada, el archivo de configuración resultante se crea en la ruta de
kubeconfig
predeterminada (.kube
) en el directorio de inicio o en combinación con un archivoconfig
existente 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-arn
para utilizar en la autenticación al emitir comandoskubectl
. De lo contrario, se utilizará la entidad principal de IAM de la AWS CLI predeterminada o las credenciales del SDK. Puede ver su identidad de AWS CLI o SDK predeterminada ejecutando el comandoaws sts get-caller-identity
.Para ver todas las opciones disponibles, ejecute el comando
aws eks update-kubeconfig help
o consulteupdate-kubeconfig
en la Referencia de los comandos de la AWS CLI. -
Pruebe la configuración.
kubectl get svc
Un 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 1m
Si 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.