|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Creando un Clúster EKS
Amazon EKS proporciona un plano de control gestionado para tu clúster de Kubernetes. Amazon EKS ejecuta las instancias del plano de control de Kubernetes en múltiples Zonas de Disponibilidad para garantizar alta disponibilidad. Rancher proporciona una interfaz de usuario intuitiva para gestionar y desplegar los clústeres de Kubernetes que ejecutas en Amazon EKS. Con esta guía, utilizarás Rancher para lanzar rápida y fácilmente un clúster de Kubernetes de Amazon EKS en tu cuenta de AWS. Para más información sobre Amazon EKS, consulta esta documentación.
Requisitos previos en Amazon Web Services
|
Desplegar en Amazon AWS generará cargos. Para más información, consulta la página de precios de EKS. |
Para configurar un clúster en EKS, necesitarás configurar una VPC de Amazon (nube privada). También necesitarás asegurarte de que la cuenta que utilizarás para crear el clúster EKS tenga los permisos apropiados. Para más detalles, consulta la guía oficial sobre Requisitos previos de Amazon EKS.
Amazon VPC
Se requiere una VPC de Amazon para lanzar el clúster EKS. La VPC te permite lanzar recursos de AWS en una red virtual que has definido. Puedes configurarla tú mismo y proporcionarla durante la creación del clúster en Rancher. Si no proporcionas una durante la creación, Rancher creará una. Para más información, consulta el Tutorial: Creación de una VPC con subredes públicas y privadas para tu clúster de Amazon EKS.
Directivas IAM
Rancher necesita acceso a tu cuenta de AWS para aprovisionar y administrar tus clústeres de Kubernetes en Amazon EKS. Necesitarás crear un usuario para Rancher en tu cuenta de AWS y definir a qué puede acceder ese usuario.
-
Crea un usuario con acceso programático siguiendo los pasos aquí.
-
A continuación, crea una directiva de IAM que defina a qué tiene acceso este usuario en tu cuenta de AWS. Es importante conceder a este usuario el acceso mínimo dentro de tu cuenta. Los permisos mínimos requeridos para un clúster de EKS están listados aquí. Sigue los pasos aquí para crear una directiva de IAM y adjuntarla a tu usuario.
-
Finalmente, sigue los pasos aquí para crear una clave de acceso y una clave secreta para este usuario.
|
Importante:
Es importante rotar regularmente tus claves de acceso y claves secretas. Consulta esta documentación para más información. |
Para obtener información más detallada sobre las políticas de IAM para EKS, consulta la documentación oficial sobre las políticas de IAM de Amazon EKS, Roles, y Permisos.
Crea el clúster de EKS
Utiliza Rancher para instalar y configurar tu clúster de Kubernetes.
-
Haz clic en ☰ > Gestión de Clústeres.
-
En la página Clústeres, haz clic en Crear.
-
Choose Amazon EKS.
-
Introduce un Nombre del clúster.
-
Utiliza Roles de Miembros para configurar la autorización de usuarios para el clúster. Haz clic en Añadir Miembro para añadir usuarios que puedan acceder al clúster. Utiliza el menú desplegable Rol para establecer permisos para cada usuario.
-
Rellena el resto del formulario. Para obtener ayuda, consulta la referencia de configuración.
-
Haga clic en Crear.
Resultado:
Tu clúster ha sido creado y se le ha asignado un estado de Aprovisionamiento. Rancher está configurando tu clúster.
Puedes acceder a tu clúster después de que su estado se actualice a Activo.
Los clústeres Activos tienen asignados dos proyectos:
-
Default, que contiene el espacio de nombresdefault -
System, que contiene los espacios de nombrescattle-system,traefik,kube-publicykube-system
Referencia de configuración del clúster EKS
Para ver la lista completa de opciones de configuración del clúster de EKS, consulta esta página.
Arquitectura
La figura a continuación ilustra la arquitectura de alto nivel de Rancher 2.x. La figura representa una instalación de Rancher Server que gestiona dos clústeres de Kubernetes: uno creado por RKE y otro creado por EKS.
Eventos de servicio de AWS
Para encontrar información sobre cualquier evento de servicio de AWS, por favor consulta esta página.
Seguridad y conformidad con las normas
Por defecto, solo el usuario o rol de IAM que creó un clúster tiene acceso a él. Intentar acceder al clúster con cualquier otro usuario o rol sin una configuración adicional llevará a un error. En Rancher, esto significa que utilizar una credencial que se asocie a un usuario o rol que no fue utilizado para crear el clúster causará un error de no autorizado. Por ejemplo, un clúster de EKSCtl no se registrará en Rancher a menos que las credenciales utilizadas para registrar el clúster coincidan con el rol o usuario utilizado por EKSCtl. Usuarios y roles adicionales pueden ser autorizados para acceder a un clúster al ser añadidos al configmap aws-auth en el espacio de nombres kube-system. Para una explicación más detallada e instrucciones específicas, por favor consulta esta documentación.
Para más información sobre seguridad y cumplimiento con tu clúster de Kubernetes de Amazon EKS, por favor consulta esta documentación.
Tutorial
Este tutorial en el blog de código abierto de AWS te guiará a través de cómo configurar un clúster de EKS con Rancher, desplegar una app accesible públicamente para probar el clúster y desplegar un proyecto de muestra para rastrear datos geoespaciales en tiempo real utilizando una combinación de otro software de código abierto como Grafana e InfluxDB.
Permisos mínimos de EKS
Este es el conjunto mínimo de permisos necesarios para acceder a toda la funcionalidad del controlador EKS de Rancher. Estos permisos permiten a Rancher crear el Rol de Servicio y los recursos de nube privada (VPC) en nombre de los usuarios, si es necesario.
|
En EKS v1.23 y versiones superiores, debes utilizar los controladores fuera del árbol para volúmenes respaldados por EBS. Necesitas permisos específicos para habilitar este complemento. |
| Recurso | Descripción |
|---|---|
Complemento del controlador EBS CSI |
Proporciona permisos que permiten a Kubernetes interactuar con EBS y configurar el clúster para habilitar el complemento (requerido para EKS v1.23 y versiones superiores). Rancher puede instalar el complemento con los siguientes permisos del complemento del controlador EBS CSI. |
La segmentación de recursos utiliza * ya que el ARN de muchos de los recursos creados no puede conocerse antes de crear el clúster de EKS en Rancher.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "EC2Permissions",
"Effect": "Allow",
"Action": [
"ec2:AuthorizeSecurityGroupEgress",
"ec2:AuthorizeSecurityGroupIngress",
"ec2:CreateKeyPair",
"ec2:CreateLaunchTemplate",
"ec2:CreateLaunchTemplateVersion",
"ec2:CreateSecurityGroup",
"ec2:CreateTags",
"ec2:DeleteKeyPair",
"ec2:DeleteLaunchTemplate",
"ec2:DeleteLaunchTemplateVersions",
"ec2:DeleteSecurityGroup",
"ec2:DeleteTags",
"ec2:DescribeAccountAttributes",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeImages",
"ec2:DescribeInternetGateways",
"ec2:DescribeInstanceTypes",
"ec2:DescribeKeyPairs",
"ec2:DescribeLaunchTemplateVersions",
"ec2:DescribeLaunchTemplates",
"ec2:DescribeRegions",
"ec2:DescribeRouteTables",
"ec2:DescribeSecurityGroups",
"ec2:DescribeSubnets",
"ec2:DescribeTags",
"ec2:DescribeVpcs",
"ec2:RevokeSecurityGroupEgress",
"ec2:RevokeSecurityGroupIngress",
"ec2:RunInstances"
],
"Resource": "*"
},
{
"Sid": "CloudFormationPermissions",
"Effect": "Allow",
"Action": [
"cloudformation:CreateStack",
"cloudformation:CreateStackSet",
"cloudformation:DeleteStack",
"cloudformation:DescribeStackResource",
"cloudformation:DescribeStackResources",
"cloudformation:DescribeStacks",
"cloudformation:ListStackResources",
"cloudformation:ListStacks"
],
"Resource": "*"
},
{
"Sid": "IAMPermissions",
"Effect": "Allow",
"Action": [
"iam:AddRoleToInstanceProfile",
"iam:AttachRolePolicy",
"iam:CreateInstanceProfile",
"iam:CreateRole",
"iam:CreateServiceLinkedRole",
"iam:DeleteInstanceProfile",
"iam:DeleteRole",
"iam:DetachRolePolicy",
"iam:GetInstanceProfile",
"iam:GetRole",
"iam:ListAttachedRolePolicies",
"iam:ListInstanceProfiles",
"iam:ListInstanceProfilesForRole",
"iam:ListRoles",
"iam:ListRoleTags",
"iam:PassRole",
"iam:RemoveRoleFromInstanceProfile",
"iam:TagRole"
],
"Resource": "*"
},
{
"Sid": "KMSPermissions",
"Effect": "Allow",
"Action": "kms:ListKeys",
"Resource": "*"
},
{
"Sid": "EKSPermissions",
"Effect": "Allow",
"Action": [
"eks:CreateCluster",
"eks:CreateFargateProfile",
"eks:CreateNodegroup",
"eks:DeleteCluster",
"eks:DeleteFargateProfile",
"eks:DeleteNodegroup",
"eks:DescribeAddon",
"eks:DescribeCluster",
"eks:DescribeFargateProfile",
"eks:DescribeNodegroup",
"eks:DescribeUpdate",
"eks:ListClusters",
"eks:ListFargateProfiles",
"eks:ListNodegroups",
"eks:ListTagsForResource",
"eks:ListUpdates",
"eks:TagResource",
"eks:UntagResource",
"eks:UpdateClusterConfig",
"eks:UpdateClusterVersion",
"eks:UpdateNodegroupConfig",
"eks:UpdateNodegroupVersion"
],
"Resource": "*"
},
{
"Sid": "VPCPermissions",
"Effect": "Allow",
"Action": [
"ec2:AssociateRouteTable",
"ec2:AttachInternetGateway",
"ec2:CreateInternetGateway",
"ec2:CreateRoute",
"ec2:CreateRouteTable",
"ec2:CreateSecurityGroup",
"ec2:CreateSubnet",
"ec2:CreateVpc",
"ec2:DeleteInternetGateway",
"ec2:DeleteRoute",
"ec2:DeleteRouteTable",
"ec2:DeleteSubnet",
"ec2:DeleteTags",
"ec2:DeleteVpc",
"ec2:DescribeVpcs",
"ec2:DetachInternetGateway",
"ec2:DisassociateRouteTable",
"ec2:ModifySubnetAttribute",
"ec2:ModifyVpcAttribute",
"ec2:ReplaceRoute"
],
"Resource": "*"
}
]
}
Cuando creas un clúster de EKS, Rancher crea un rol de servicio con la siguiente política de confianza:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Effect": "Allow",
"Sid": ""
}
]
}
Este rol también tiene dos adjuntos de directivas de rol con los siguientes ARNs de las directivas:
arn:aws:iam::aws:policy/AmazonEKSClusterPolicy arn:aws:iam::aws:policy/AmazonEKSServicePolicy
Permisos del complemento del controlador CSI de EBS
Los siguientes son los permisos requeridos para instalar el complemento del controlador CSI de Amazon EBS.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"eks:AssociateIdentityProviderConfig",
"eks:CreateAddon",
"eks:DeleteAddon",
"eks:DescribeAddonConfiguration",
"eks:DescribeAddonVersions",
"eks:DescribeIdentityProviderConfig",
"eks:ListAddons",
"eks:ListIdentityProviderConfigs",
"eks:UpdateAddon",
"iam:CreateOpenIDConnectProvider",
"iam:ListOpenIDConnectProviders",
"sts:AssumeRoleWithWebIdentity"
],
"Resource": "*"
}
]
}
Permisos de red de doble pila IPv6
Los siguientes son los permisos adicionales requeridos para aprovisionar un clúster de EKS IPv6 desde Rancher.
|
Estos permisos solo son necesarios cuando Rancher está creando un nuevo clúster IPv6. Durante la creación de un nuevo clúster, Rancher necesita estos permisos para generar la VPC de doble pila, crear el proveedor OIDC de IAM y asignar una política en línea ( Si estás registrando (importando) un clúster de EKS existente que ya tiene IPv6 configurado, estos permisos adicionales no son requeridos. |
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:AssignIpv6Addresses",
"ec2:UnassignIpv6Addresses",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses",
"ec2:AssociateVpcCidrBlock",
"ec2:DisassociateVpcCidrBlock",
"iam:PutRolePolicy",
"iam:CreateOpenIDConnectProvider",
"iam:ListOpenIDConnectProviders",
"eks:AssociateIdentityProviderConfig",
"eks:DescribeIdentityProviderConfig",
"eks:ListIdentityProviderConfigs",
"sts:AssumeRoleWithWebIdentity"
],
"Resource": "*"
}
]
}
Sincronizando
El aprovisionador de EKS puede sincronizar el estado de un clúster de EKS entre Rancher y el proveedor. Para una explicación técnica detallada de cómo funciona esto, consulta Sincronizando.
Para información sobre cómo configurar el intervalo de actualización, consulta esta sección.
Solución de problemas
Si tus cambios fueron sobrescritos, podría ser debido a la forma en que se sincronizan los datos del clúster con EKS. No se deben realizar cambios en el clúster desde otra fuente, como en la consola de EKS, y en Rancher dentro de un intervalo de cinco minutos. Para información sobre cómo funciona esto y cómo configurar el intervalo de actualización, consulta Syncing.
Si se devuelve un error no autorizado al intentar modificar o registrar el clúster y el clúster no fue creado con el rol o usuario al que pertenecen tus credenciales, consulta Seguridad y Cumplimiento.
Para cualquier problema o detalles de solución de problemas para tu clúster de Kubernetes de Amazon EKS, consulta esta documentación.
Creación programática de clústeres de EKS
La forma más común de desplegar clústeres de EKS programáticamente a través de Rancher es utilizando el proveedor de Terraform Rancher2. La documentación para crear clústeres con Terraform está aquí.