Implementar un clúster en Amazon Elastic Kubernetes Service
Antes de implementar ArcGIS Enterprise on Kubernetes en Amazon Web Services (AWS), debe preparar un clúster de Amazon Elastic Kubernetes Service (EKS) que cumpla los requisitos del sistema de ArcGIS Enterprise.
La preparación de un clúster de EKS incluye pasos comunes a todos los entornos compatibles, como la configuración del clúster de Kubernetes y los nodos correspondientes, y pasos específicos del entorno, como la configuración de los roles de AWS Identity y Access Management (IAM).
Revise detenidamente los siguientes pasos y consulte la documentación de AWS para obtener instrucciones más detalladas sobre cómo preparar su entorno. Para obtener instrucciones sobre cómo implementar ArcGIS Enterprise en un clúster de EKS utilizando el escalado automático de clústeres de Karpenter, consulte la guía de implementación en modo automático de EKS.
Cree una Amazon Virtual Private Cloud (VPC).
Debe crear una VPC que cumpla tanto con los requisitos de Amazon EKS como con los requisitos de escalabilidad de ArcGIS Enterprise on Kubernetes.
Una implementación grande de Kubernetes puede consumir miles de direcciones IP. Una vez creado un clúster, los rangos de Enrutamiento entre dominios sin clase (CIDR) de la VPC y las subredes asociadas no se pueden modificar.
El número de direcciones IP que necesite depende en gran medida del número de cargas de trabajo del clúster, pero las pruebas de escalabilidad han demostrado que cada subred debe configurarse con una máscara de subred mínima de /18. Esto permite disponer de más de 16.000 direcciones IP por subred.
Opcionalmente, habilite el cifrado de sobres de secretos y cree una clave de Key Management Service (KMS).
Se recomienda activar el cifrado de sobres para los secretos almacenados en ectd para el clúster de EKS. Para ello, debe existir una clave de cifrado simétrica en Amazon EKS.
Nota:
Una vez que se ha habilitado el cifrado de sobres para un clúster, no se puede deshabilitar. Puede activarse en un clúster existente si es necesario.
Cree un clúster de EKS.
Al crear un clúster de EKS, hará referencia a la VPC, las subredes, el rol de IAM y la clave de KMS creada en los pasos anteriores. ArcGIS Enterprise on Kubernetes no es compatible con AWS Fargate, ya que los nodos subyacentes no se pueden configurar.
La versión del clúster de Kubernetes debe coincidir con la indicada en los Requisitos del sistema.
Cree un rol de IAM de grupo de nodos.
Una vez creado el clúster, debe crear un grupo de nodos trabajadores. La creación de un grupo de nodos requiere un rol de IAM adicional que defina los servicios de AWS a los que pueden acceder las instancias EC2 asociadas.
Cree un grupo de nodos.
Una vez creado, un clúster no tiene ningún nodo trabajador programable. Para implementar cualquier carga de trabajo en el clúster, se necesita al menos un grupo de nodos para poner en marcha los pods asociados. Se recomienda utilizar un grupo de nodos administrados para permitir actualizaciones simplificadas del clúster en el futuro.
Actualice la configuración de kubectl.
Después de crear el clúster, la interfaz de línea de comandos (CLI) de AWS se puede utilizar para extraer la información de conexión de administrador de clúster en su archivo
kubeconfig. Utilice el comando siguiente:aws eks update-kubeconfig -name <CLUSTER_NAME> --region <REGION>Cree un rol de IAM de clúster.
Un clúster de Amazon EKS requiere un rol de IAM que define a qué recursos tiene acceso el clúster. ArcGIS Enterprise on Kubernetes no tiene ningún requisito más allá de lo que describe AWS.
Cree un proveedor de identidad OpenID Connect (OIDC).
Para interactuar con otros servicios de AWS desde dentro del clúster, AWS recomienda un proveedor OIDC. Este proveedor federa el clúster de Kubernetes con la organización de AWS para asignar el acceso de cuentas de servicios de Kubernetes a recursos de AWS. En términos de ArcGIS Enterprise on Kubernetes, se recomienda esto para permitir el funcionamiento del controlador del equilibrador de carga de AWS y el controlador de la interfaz de almacenamiento de contenedores (CSI) de Amazon Elastic Block Store (EBS). Estos dos complementos reducen el esfuerzo administrativo necesario para implementar ArcGIS Enterprise on Kubernetes.
Instale el complemento del controlador del equilibrador de carga.
En EKS, un administrador puede enrutar el tráfico a un clúster de muchas maneras. Para utilizar un equilibrador de carga, el administrador debe instalar el controlador del equilibrador de carga. El controlador del equilibrador de carga de AWS administra equilibradores de carga elásticos de AWS para un clúster de Kubernetes.
Durante el proceso de implementación, un administrador puede proporcionar un equilibrador de carga desde el script de implementación. Cuando se ejecuta el script, el controlador del equilibrador de carga crea el equilibrador de carga de red (interno o externo), el grupo de destino, los grupos de seguridad y otras configuraciones para gestionar el enrutamiento a los nodos trabajadores.
De forma alternativa, un administrador puede utilizar una entrada a nivel de clúster para enrutar el tráfico, lo que exige realizar pasos adicionales. Cuando un administrador utiliza el controlador de entrada a nivel de clúster, el script no proporciona el equilibrador de carga de aplicaciones (ALB). Consulte los pasos adicionales para utilizar el equilibrio de carga de aplicaciones en EKS. Utilizando un controlador de entrada a nivel de clúster, el controlador del equilibrador de carga crea el ALB, el grupo de destino, los grupos de seguridad y otras configuraciones para administrar el enrutamiento a los nodos trabajadores.
Instale el complemento del controlador CSI de Amazon EBS.
El controlador EBS CSI de Amazon es un requisito de Amazon EKS 1.23 y versiones posteriores que permite el aprovisionamiento dinámico de volúmenes EBS mediante reclamaciones de volúmenes persistentes (PVC) en el clúster. El primer paso es crear un rol de IAM y una cuenta de servicio de Kubernetes para el controlador CSI. El segundo consiste en implementar las cargas de trabajo del controlador CSI en el clúster.
Para utilizar la última clase de volúmenes EBS, se recomienda crear una clase de almacenamiento que haga referencia al tipo gp3. Aplique el archivo
.yamlapropiado al clúster utilizando el siguiente comando:kubectl apply -f <storageClass.yaml>Consulte un ejemplo de archivo
.yamlde clase de almacenamiento predeterminada y un ejemplo de archivo.yamlde clase de almacenamiento de copia de seguridad para obtener más información.
Una vez que cree un espacio de nombres en el clúster de Kubernetes, es posible configurar e implementar el clúster de EKS en ArcGIS Enterprise. Al realizar la implementación, configure ArcGIS Enterprise para que cree el equilibrador de carga. Cuando configure su organización, haga referencia a la clase de almacenamiento que ha creado.