Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Elija el enlace Editar esta página en GitHub que se encuentra en el panel derecho de cada página. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
nota
En este tema se explica cómo comenzar sin el modo automático de EKS. Utiliza grupos de nodos administrados para implementar nodos.
El modo automático de EKS automatiza las tareas rutinarias de computación en clústeres, almacenamiento y redes. Descubra cómo comenzar a utilizar el modo automático de Amazon EKS. El modo automático de EKS es el método preferente para implementar nodos.
Esta guía lo ayuda a crear todos los recursos necesarios para comenzar a utilizar Amazon Elastic Kubernetes Service (Amazon EKS) mediante la AWS Management Console y la AWS CLI. En esta guía, creará cada recurso de forma manual. Al final de este tutorial, contará con un clúster de Amazon EKS en ejecución en el que puede implementar aplicaciones.
Los procedimientos de esta guía le dan una visibilidad completa sobre cómo se crea cada recurso y cómo interactúan los recursos entre sí. Si prefiere que la mayoría de los recursos se creen de forma automática, utilice la CLI de eksctl
para crear el clúster y los nodos. Para obtener más información, consulte Introducción a Amazon EKS: eksctl.
Requisitos previos
Antes de comenzar este tutorial, debe instalar y configurar las siguientes herramientas y recursos que necesitará para crear y administrar un clúster de Amazon EKS.
-
AWS CLI: una herramienta de línea de comandos para trabajar con servicios de AWS, incluido Amazon EKS. Para obtener más información, consulte Instalación en la Guía del usuario de la interfaz de la línea de comandos de AWS. Después de instalar la AWS CLI, recomendamos que también la configure. Para obtener más información, consulte Configuración rápida con aws configure en la Guía del usuario de la interfaz de la línea de comandos de AWS. Tenga en cuenta que necesita la v2 de la AWS CLI para utilizar la opción update-kubeconfig que se muestra en esta página.
-
kubectl
: una herramienta de línea de comandos para trabajar con clústeres de Kubernetes. Para obtener más información, consulte Configuración de kubectl y eksctl. -
Permisos de IAM necesarios: la entidad principal de seguridad de IAM que está utilizando debe contar con permisos para trabajar con los roles de IAM de Amazon EKS, los roles vinculados al servicio, AWS CloudFormation, una VPC y recursos relacionados. Para obtener más información, consulte Acciones y Uso de roles vinculados a servicios en la Guía del usuario de IAM. Debe completar todos los pasos de esta guía como el mismo usuario. Ejecute el siguiente comando para comprobar el usuario actual:
aws sts get-caller-identity
Le recomendamos que siga los pasos de este tema en un intérprete de comandos Bash. Si no está utilizando un intérprete de comandos Bash, algunos comandos de script, como los caracteres de continuación de línea y la forma en que se establecen y utilizan las variables, requieren ajustes para su intérprete de comandos. Además, las reglas de entrecomillado y escape de su intérprete de comandos pueden ser diferentes. Para obtener más información, consulte Uso de entrecomillado de cadenas en la AWS CLI de la Guía del usuario de la interfaz de la línea de comandos de AWS.
Paso 1: creación del clúster de Amazon EKS
importante
Para comenzar de la manera más sencilla y rápida posible, en este tema se incluye pasos a fin de crear un clúster con la configuración predeterminada. Antes de crear un clúster para su uso en producción, recomendamos que conozca toda la configuración e implemente un clúster con la configuración que satisfaga sus requisitos. Para obtener más información, consulte Creación de un clúster de Amazon EKS. Algunos ajustes de configuración solo se pueden habilitar al crear el clúster.
-
Cree una Amazon VPC con subredes privadas y públicas que cumplan con los requisitos de Amazon EKS. Reemplace
region-code
por cualquier región de AWS en la que se admita Amazon EKS. Para ver una lista de las regiones de AWS, consulte Puntos de conexión y cuotas de Amazon EKS en la Guía de referencia general de AWS. Puede reemplazarmy-eks-vpc-stack
por el nombre que elija.aws cloudformation create-stack \ --region
region-code
\ --stack-name my-eks-vpc-stack \ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yamlsugerencia
Para obtener una lista de todos los recursos que el comando anterior crea, abra la consola de AWS CloudFormation en https://console.aws.amazon.com/cloudformation/
. Elija la pila my-eks-vpc-stack
y, a continuación, elija la pestaña Resources (Recursos). -
Cree un rol de IAM de clúster y adjúntelo a la política administrada de IAM de Amazon EKS. Los clústeres de Kubernetes administrados por Amazon EKS realizan llamadas a otros servicios de AWS en su nombre para administrar los recursos que utiliza con el servicio.
-
Copie el siguiente contenido en un archivo con el nombre
eks-cluster-role-trust-policy.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Cree el rol.
aws iam create-role \ --role-name myAmazonEKSClusterRole \ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
-
Adjunte la política administrada de IAM por Amazon EKS requerida al rol.
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name myAmazonEKSClusterRole
-
-
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters
. Asegúrese de que la región de AWS que se muestra en la parte superior derecha de la consola sea la región de AWS en la que desea crear el clúster. De lo contrario, elija el menú desplegable junto al nombre de la región de AWS y elija la región de AWS que desea utilizar.
-
Elija Create cluster. Si no ve esta opción, elija Clústeres en el panel de navegación izquierdo primero.
-
En la página Configure cluster (Configurar clúster), haga lo siguiente:
-
Seleccione Configuración personalizada y desactive Utilizar el modo automático de EKS. (Si prefiere un clúster del modo automático de EKS, consulte Crear un clúster de modo automático de EKS con la Consola de administración de AWS en su lugar).
-
Ingrese un Nombre para el clúster, como
my-cluster
. El nombre solo puede contener caracteres alfanuméricos (con distinción de mayúsculas y minúsculas) y guiones. Debe comenzar con un carácter alfanumérico y no puede tener más de 100 caracteres. El nombre debe ser único dentro de la región de AWS y la cuenta de AWS en las que va a crear el clúster. -
En Cluster Service Role (Rol de servicio de clúster), elija
myAmazonEKSClusterRole
. -
Conserve el resto de la configuración con sus valores predeterminados y elija Next (Siguiente).
-
-
En la página Specify networking (Especificar redes), haga lo siguiente:
-
Elija el ID de la VPC que creó en un paso anterior en la lista desplegable de VPC. Es algo similar a
vpc-00x0000x000x0x000
|my-eks-vpc-stack-VPC
. -
Conserve el resto de la configuración con sus valores predeterminados y elija Siguiente.
-
-
En la página Configurar observabilidad, elija Siguiente.
-
En la página Seleccionar complementos, elija Siguiente.
Para obtener más información sobre los complementos, consulte Complementos de Amazon EKS.
-
En la página Configurar las opciones de complementos seleccionados, elija Siguiente.
-
En la página Review and create (Revisar y crear), elija Create (Crear).
A la derecha del nombre del clúster, el estado del clúster es En creación durante varios minutos hasta que se complete el proceso de aprovisionamiento del clúster. No siga con el paso siguiente hasta que el estado sea Activo.
nota
Es posible que reciba un error que indique que una de las zonas de disponibilidad de la solicitud no tiene capacidad suficiente para crear un clúster de Amazon EKS. Si esto ocurre, el mensaje de error indicará las zonas de disponibilidad que admiten un clúster nuevo. Intente crear el clúster de nuevo con al menos dos subredes ubicadas en las zonas de disponibilidad admitidas para su cuenta. Para obtener más información, consulte Capacidad insuficiente.
Paso 2: configuración del equipo para comunicarse con el clúster
En esta sección creará un archivo de kubeconfig
para el clúster. La configuración de este archivo permite a la CLI de kubectl
comunicarse con el clúster.
Antes de continuar, asegúrese de que la creación del clúster se haya completado correctamente en el paso 1.
-
Creación o actualización de un archivo de
kubeconfig
para el clúster. Reemplaceregion-code
con la región de AWS en la creó el clúster. Reemplacemy-cluster
por el nombre de su clúster.aws eks update-kubeconfig --region
region-code
--namemy-cluster
De forma predeterminada, el archivo de
config
se crea en~/.kube
o la configuración del clúster nuevo se agrega a un archivo deconfig
existente en~/.kube
. -
Pruebe la configuración.
kubectl get svc
nota
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.
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
Paso 3: creación de nodos
importante
Para comenzar de la forma más sencilla y rápida posible, en este tema se incluyen pasos para crear nodos principalmente con configuraciones predeterminadas. Antes de crear nodos para su uso en producción, recomendamos que conozca toda la configuración e implemente nodos con la configuración que satisfaga sus requisitos. Para obtener más información, consulte Administración de los recursos de computación mediante nodos. Algunos ajustes de configuración solo se pueden habilitar al crear los nodos.
Con este procedimiento se configura el clúster para utilizar grupos de nodos administrados en la creación de nodos, para lo cual se especifican las subredes y el rol de IAM de nodo que se crearon en los pasos anteriores. Permite ejecutar aplicaciones de Amazon Linux en instancias de Amazon EC2.
Para obtener más información sobre las diferentes formas de configurar los nodos en EKS, consulte Administración de los recursos de computación mediante nodos. Después de implementar el clúster, puede agregar otros tipos de nodos. Aunque no se trata en esta guía, también puede agregar nodos autoadministrados de Windows y Bottlerocket a su clúster.
Para crear el grupo de nodos administrados por Linux de Amazon EC2
-
Cree un rol de IAM de nodo y adjúntelo a la política administrada de IAM de Amazon EKS. El daemon de
kubelet
del nodo de Amazon EKS realiza llamadas a las API de AWS en su nombre. Los nodos reciben permisos de dichas llamadas de API a través de políticas asociadas y de un perfil de instancias de IAM.-
Copie el siguiente contenido en un archivo denominado
node-role-trust-policy.json
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Cree el rol de IAM de nodo.
aws iam create-role \ --role-name myAmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-policy.json"
-
Adjunte las políticas de IAM administradas requeridas al rol.
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name myAmazonEKSNodeRole
-
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters
. -
Elija el nombre del clúster que creó en Paso 1: crear el clúster de Amazon EKS, por ejemplo,
my-cluster
. -
En la página
my-cluster
, haga lo siguiente: -
Elija la pestaña Compute (Computación).
-
Elija Add Node Group (Agregar grupo de nodos).
-
-
En la página Configure Node Group (Configurar grupo de nodos), haga lo siguiente:
-
En Nombre, ingrese un nombre único para el grupo de nodos administrados, por ejemplo,
my-nodegroup
. El nombre del grupo de nodos no puede tener más de 63 caracteres. Debe empezar por una letra o un dígito, pero también puede incluir guiones y guiones bajos como caracteres no iniciales. -
En Node IAM role name (Nombre de rol de IAM de nodo), elija el rol
myAmazonEKSNodeRole
que creó en el paso anterior. Recomendamos que cada grupo de nodos utilice su propio rol de IAM exclusivo. -
Elija Siguiente.
-
-
En la página Set compute and scaling configuration (Establecer la configuración de computación y escalado), acepte los valores predeterminados y elija Next (Siguiente).
-
En la página Specify networking (Especificar redes), acepte los valores predeterminados y elija Next (Siguiente).
-
En la página Revisar y crear, revise la configuración del grupo de nodos administrados y elija Crear.
-
Al cabo de varios minutos, el Status (Estado) en la Node Group configuration (Configuración del grupo de nodos) cambiará de Creating (En creación) a Active (Activo). No siga con el paso siguiente hasta que el estado sea Activo.
Paso 4: visualización de recursos
Puede ver sus nodos y cargas de trabajo de Kubernetes.
-
En el panel de navegación izquierdo, elija Clusters (Clústeres). En la lista de Clusters (Clústeres), elija el nombre del clúster que ha creado, como
my-cluster
. -
En la página
my-cluster
, elija lo siguiente:-
En la pestaña Compute (Informática), verá la lista de Nodes (Nodos) que se implementaron para el clúster. Puede elegir el nombre de un nodo para obtener más información sobre él.
-
En la pestaña Recursos: consulte todos los recursos de Kubernetes que se implementan de forma predeterminada en un clúster de Amazon EKS. Seleccione cualquier tipo de recurso en la consola de para obtener más información sobre él.
-
Paso 5: eliminación de recursos
Cuando haya terminado con el clúster y los nodos que creó para este tutorial, deberá eliminar los recursos creados. Si desea hacer más con este clúster antes de eliminar los recursos, consulte Pasos a seguir a continuación.
-
Elimine cualquier perfil de grupo de nodos que haya creado.
-
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters
. -
En el panel de navegación izquierdo, elija Clusters (Clústeres). En la lista de clústeres, elija
my-cluster
. -
Elija la pestaña Computación.
-
Si ha creado un grupo de nodos, elija el grupo de nodos
my-nodegroup
y, luego, elija Delete (Eliminar). Ingresemy-nodegroup
y, a continuación, seleccione Eliminar. -
No continúe hasta que se hayan eliminado los perfiles de grupos de nodos.
-
-
Eliminar el clúster.
-
En el panel de navegación izquierdo, elija Clusters (Clústeres). En la lista de clústeres, elija
my-cluster
. -
Seleccione Delete cluster (Eliminar clúster).
-
Ingrese
my-cluster
y, a continuación, seleccione Eliminar. No continúe hasta que se elimine el clúster.
-
-
Elimine la pila de AWS CloudFormation de la VPC que ha creado.
-
Abra la consola de CloudFormation en https://console.aws.amazon.com/cloudformation/
. -
Elija la pila
my-eks-vpc-stack
y, luego, elija Delete (Eliminar). -
En el cuadro de diálogo de confirmación Eliminar
my-eks-vpc-stack
, elija Eliminar pila.
-
-
Elimine los roles de IAM que ha creado.
-
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
En el panel de navegación izquierdo, elija Roles.
-
Seleccione cada rol que haya creado de la lista (
myAmazonEKSClusterRole
, así comomyAmazonEKSNodeRole
). Elija Delete (Eliminar), ingrese el texto de confirmación solicitado y, luego, elija Delete (Eliminar).
-
Pasos a seguir a continuación
Los siguientes temas de documentación lo ayudarán a ampliar la funcionalidad de su clúster.
-
La entidad principal de IAM que creó el clúster es la única entidad principal que puede realizar llamadas al servidor de la API de Kubernetes con
kubectl
o laAWS Management Console. Si desea que otras entidades principales de IAM tengan acceso al clúster, debe agregarlas. Para obtener más información, consulte Concesión a los usuarios y roles de IAM de acceso a las APIs de Kubernetes y Permisos necesarios. -
Implemente una aplicación de muestra en su clúster.
-
Antes de implementar un clúster para su uso en producción, le recomendamos que se familiarice con toda la configuración de clústeres y nodos. Algunos ajustes (como habilitar el acceso SSH a los nodos de Amazon EC2) deben establecerse cuando se crea el clúster.
-
Para aumentar la seguridad del clúster, configure el complemento de interfaz de red de contenedores de Amazon VPC a fin de utilizar roles de IAM para cuentas de servicio.