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 dependerá 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 en gran medida el esfuerzo administrativo necesario para implementar ArcGIS Enterprise on Kubernetes.

  9. Instale el complemento del controlador del equilibrador de carga.

    El controlador del equilibrador de carga de AWS permite el aprovisionamiento de un equilibrio de carga de red (interno o externo) durante el proceso de implementación. El controlador también se encarga de la creación del grupo objetivo, los grupos de seguridad y otras configuraciones para administrar el enrutamiento desde el equilibrador de carga de red a los nodos trabajadores.

    Si el equilibrador de carga se crea manualmente, estos ajustes deben configurarse manualmente. El primer paso es crear el rol de IAM y una cuenta de servicio de Kubernetes. El segundo paso consiste en implementar las cargas de trabajo del controlador del equilibrador de carga de AWS en el clúster.

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

    El controlador CSI de Amazon EBS 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) dentro del clúster. El primer paso importante 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 aprovechar la última clase de volúmenes EBS, se recomienda crear una clase de almacenamiento que haga referencia al tipo gp3. El archivo YAML pertinente debe aplicarse al clúster mediante 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 que haya creado un espacio de nombres en su clúster Kubernetes, su clúster EKS debería estar listo para implementar y configurar ArcGIS Enterprise. Cuando realice la implementación, recuerde indicar a ArcGIS Enterprise que cree el equilibrador de carga. Cuando configure su organización, asegúrese de hacer referencia a la clase de almacenamiento que ha creado.