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 EKS incluye pasos comunes a todos los entornos compatibles, como la configuración del clúster Kubernetes y los nodos correspondientes, y pasos específicos del entorno, como la configuración de los roles de AWS Identity and 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.

  1. Cree un Amazon Virtual Private Cloud (VPC).

    Debe crear una VPC que cumpla los requisitos de Amazon EKS y los requisitos de escalabilidad de ArcGIS Enterprise on Kubernetes.

    Una gran implementación 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 pueden modificarse.

    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.

  2. 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 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.

  3. 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 en AWS Fargate, ya que los nodos subyacentes no son configurables.

    La versión del clúster de Kubernetes debe coincidir con la indicada en los Requisitos del sistema.

  4. 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.

  5. 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.

  6. 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 clúster-admin en su archivo kubeconfig. Utilice el comando siguiente:

    aws eks update-kubeconfig -name <CLUSTER_NAME> --region <REGION>
    
  7. 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 AWS describe.

  8. Cree un proveedor de identidad OpenID Connect (OIDC).

    Para interactuar con otros servicios de AWS desde dentro del clúster, se recomienda un proveedor OIDC de AWS. 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.

  9. 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.

  10. Instale el complemento del controlador CSI de Amazon EBS.

    El controlador CSI de Amazon EBS El controlador CSI 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 .yaml apropiado al clúster utilizando el siguiente comando:

    kubectl apply -f <storageClass.yaml>
    

    Consulte un ejemplo de clase de almacenamiento .yaml predeterminada y un ejemplo de clase de almacenamiento .yaml de copia de seguridad para obtener más información.

Una vez creado un espacio de nombres en el clúster de Kubernetes, puede configurar e implementar el clúster EKS en ArcGIS Enterprise. Cuando realice la implementación, defina ArcGIS Enterprise para que cree el equilibrador de carga. Cuando configure su organización, haga referencia a la clase de almacenamiento que ha creado.