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.
Implementación de clústeres privados con acceso limitado a Internet
En este tema, se describe cómo implementar un clúster de Amazon EKS que se implementa en la Nube de AWS sin acceso a Internet saliente. Si tiene un clúster local en AWS Outposts, consulte Creación de nodos de Amazon Linux en AWS Outposts en lugar de este tema.
Si no está familiarizado con las redes de Amazon EKS, consulte Desmitificación de las redes de clústeres para nodos de trabajo de Amazon EKS
-
El clúster debe extraer imágenes de un registro de contenedores que esté en su VPC. Puede crear un Amazon Elastic Container Registry en su VPC y copiar las imágenes del contenedor para que sus nodos puedan extraerlas. Para obtener más información, consulte Copiar una imagen de contenedor de un repositorio en otro repositorio.
-
Su clúster debe tener habilitado el acceso privado a los puntos de conexión. Esto es necesario para que los nodos se registren en el punto de conexión del clúster. El acceso público del punto de conexión es opcional. Para obtener más información, consulte Control del acceso de la red al punto de conexión del servidor de API del clúster.
-
Los nodos autoadministrados de Linux y Windows deben incluir los siguientes argumentos de arranque antes de lanzarlos. Estos argumentos omiten la introspección de Amazon EKS y no requieren acceso a la API de Amazon EKS desde dentro de la VPC.
-
Determine el valor del punto de conexión del clúster con el siguiente comando. Reemplace
my-cluster
por el nombre de su clúster.aws eks describe-cluster --name
my-cluster
--query cluster.endpoint --output textUn ejemplo de salida sería el siguiente.
https://
EXAMPLE108C897D9B2F1B21D5EXAMPLE
.sk1
.region-code
.eks.amazonaws.com -
Determine el valor de la autoridad de certificación del clúster con el siguiente comando. Reemplace
my-cluster
por el nombre de su clúster.aws eks describe-cluster --name
my-cluster
--query cluster.certificateAuthority --output textEl resultado devuelto es una cadena larga.
-
Reemplace
ycluster-endpoint
en los siguientes comandos por los valores obtenidos en el resultado de los comandos anteriores. Para obtener más información acerca de cómo especificar argumentos de arranque al lanzar nodos autoadministrados, consulte Creación de nodos autoadministrados de Amazon Linux y Creación de nodos autoadministrados de Microsoft Windows.certificate-authority
-
Para nodos de Linux:
--apiserver-endpoint
cluster-endpoint
--b64-cluster-cacertificate-authority
Para obtener argumentos adicionales, consulte el script de arranque
en GitHub. -
Para nodos de Windows:
nota
Si utiliza un CIDR de servicio personalizado, debe especificarlo con el parámetro
-ServiceCIDR
. De lo contrario, se producirá un error en la resolución de DNS del clúster para Pods.-APIServerEndpoint
cluster-endpoint
-Base64ClusterCAcertificate-authority
Para obtener argumentos adicionales, consulte Parámetros de configuración del script de arranque.
-
-
El
aws-auth
ConfigMap
del clúster debe crearse desde su VPC. Para obtener más información sobre cómo crear y añadir entradas alConfigMap
deaws-auth
, ingreseeksctl create iamidentitymapping --help
en su terminal. Si elConfigMap
no existe en su servidor,eksctl
lo creará cuando utilice el comando para añadir una asignación de identidad. -
Los Pods configurados con roles de IAM para cuentas de servicio adquieren credenciales de una llamada a la API de AWS Security Token Service (AWS STS). Si no hay acceso a Internet saliente, debe crear y utilizar un punto de conexión de VPC de AWS STS en su VPC. La mayoría de los SDK de AWS
v1
utilizan el punto de conexión global de AWS STS de forma predeterminada (sts.amazonaws.com
), que no utiliza el punto de conexión de VPC de AWS STS. Para utilizar el punto de conexión de VPC de AWS STS, es posible que tenga que configurar el SDK de modo que utilice el punto de conexión de AWS STS regional (sts.
). Para obtener más información, consulte Configure el punto de conexión AWS Security Token Service de una cuenta de servicio.region-code
.amazonaws.com
-
Las subredes de VPC de su clúster deben tener un punto de conexión de interfaz de VPC para todas las subredes de VPC de los Servicios de AWS a los que los Pods necesiten acceder. Para obtener más información, consulte Acceso a un servicio de AWS a través de un punto de conexión de VPC de interfaz. Algunos servicios y puntos de conexión de uso común se enumeran en la siguiente tabla. Para obtener la lista completa de los puntos de conexión, consulte Servicios de AWS que se integran con AWS PrivateLink en la Guía de AWS PrivateLink.
Servicio Punto de conexión Amazon EC2 com.amazonaws. region-code
.ec2Amazon Elastic Container Registry (para extraer imágenes de contenedores) com.amazonaws. region-code
.ecr.api, com.amazonaws.region-code
.ecr.dkr y com.amazonaws.region-code
.s3Application Load Balancers y Network Load Balancers com.amazonaws. region-code
.elasticloadbalancingAWS X-Ray com.amazonaws. region-code
.xrayRegistros de Amazon CloudWatch com.amazonaws. region-code
.logsAWS Security Token Service (requerido al usar roles de IAM para cuentas de servicio) com.amazonaws. region-code
.sts
Consideraciones
-
Todos los nodos autoadministrados deben implementarse en subredes que tengan los puntos de conexión de la interfaz de VPC que necesita. Si crea un grupo de nodos administrados, el grupo de seguridad del punto de conexión de la interfaz de VPC debe permitir el CIDR para las subredes. También puede agregar el grupo de seguridad del nodo creado al grupo de seguridad del punto de conexión de la interfaz de VPC.
-
Si sus Pods utilizan volúmenes de Amazon EFS, antes de implementar Almacenamiento de un sistema de archivos elástico con Amazon EFS, se debe cambiar el archivo kustomization.yaml
del controlador para establecer las imágenes de contenedor de manera que utilicen la misma Región de AWS que el clúster de Amazon EKS. -
Puede utilizar AWS Load Balancer Controller para implementar los equilibradores de carga de aplicación (ALB) y los equilibradores de carga de red de AWS en su clúster privado. Al implementarlo, debe usar los indicadores de línea de comandos
para establecer enable-shield
,enable-waf
yenable-wafv2
como falsos. No se admite la detección de certificadoscon nombres de host de los objetos de entrada. Esto se debe a que el controlador necesita llegar a AWS Certificate Manager, el cual no tiene un punto de conexión de la interfaz de VPC. El controlador es compatible con equilibradores de carga de red con destinos IP, que son necesarios para su uso con Fargate. Para obtener más información, consulte Dirección de la aplicación y el tráfico de HTTP con Application Load Balancers y Crear un equilibrador de carga de red.
-
Se admite el Escalador automático de clústeres. Al implementar Pods del Escalador automático de clústeres, asegúrese de que la línea de comandos incluya
--aws-use-static-instance-list=true
. Para obtener más información, consulte Uso de lista de instancias estáticasen GitHub. La VPC del nodo de trabajo también debe incluir el punto de conexión de VPC de AWS STS y el punto de conexión de VPC de escalado automático. -
Algunos productos de software de contenedores utilizan llamadas de API que acceden a AWS Marketplace Metering Service para supervisar el uso. Los clústeres privados no permiten estas llamadas, por lo que estos tipos de contenedores no se pueden utilizar en clústeres privados.