Configuración del escalado automático vertical de Amazon EMR en EKS - Amazon EMR

Configuración del escalado automático vertical de Amazon EMR en EKS

Este tema le ayuda a preparar su clúster de Amazon EKS para enviar trabajos de Spark de Amazon EMR con escalado automático vertical. El proceso de configuración requiere que confirme o complete las tareas de las siguientes secciones:

Requisitos previos

Complete las siguientes tareas antes de instalar el operador de Kubernetes con escalado automático vertical en el clúster. Si ya ha completado alguno de los requisitos previos, puede omitirlos y pasar al siguiente.

  • Instale o actualice a la última versión de la AWS CLI: si ya ha instalado la AWS CLI, confirme que tiene la última versión.

  • Instale kubectl: es una herramienta de línea de comandos que se utiliza para comunicarse con el servidor de la API de Kubernetes. Necesita kubectl para instalar y supervisar los artefactos relacionados con el escalado automático vertical en su clúster de Amazon EKS.

  • Instale Operator SDK: Amazon EMR en EKS utiliza Operator SDK como administrador de paquetes durante toda la vida útil del operador de escalado automático vertical que instale en el clúster.

  • Instale Docker: necesita acceso a la CLI de Docker para autenticar y obtener las imágenes de Docker verticales relacionadas con el escalado automático para instalarlas en su clúster de Amazon EKS.

  • Instale el servidor de métricas de Kubernetes: primero debe instalar el servidor de métricas para que el escalador automático del pod vertical pueda obtener las métricas del servidor de la API de Kubernetes.

  • Comience con Amazon EKS: eksctl (versión 1.24 o posterior): el escalado automático vertical es compatible con las versiones 1.24 y posteriores de Amazon EKS. Una vez creado el clúster, regístrelo para usarlo en Amazon EMR.

  • Seleccione un URI de imagen base de Amazon EMR (versión 6.10.0 o posterior): el escalado automático vertical es compatible con las versiones 6.10.0 y posteriores de Amazon EMR.

Instalar Operator Lifecycle Manager (OLM) en su clúster de Amazon EKS

Utilice la CLI de Operator SDK para instalar Operator Lifecycle Manager (OLM) en el clúster de Amazon EMR en EKS en el que desee configurar el escalado automático vertical, tal como se muestra en el siguiente ejemplo. Una vez que lo haya configurado, puede usar OLM para instalar y administrar el ciclo de vida del operador de escalado automático vertical de Amazon EMR.

operator-sdk olm install

Para validar la instalación, ejecute el comando olm status:

operator-sdk olm status

Verifique que el comando devuelva un resultado correcto, similar al siguiente ejemplo:

INFO[0007] Successfully got OLM status for version X.XX

Si la instalación no se lleva a cabo correctamente, consulte Solución de problemas en el escalado automático vertical de Amazon EMR en EKS.

Instalar el operador de escalado automático vertical de Amazon EMR en EKS

Siga estos pasos para instalar el operador de escalado automático vertical en su clúster de Amazon EKS:

  1. Configure las siguientes variables de entorno que utilizará para completar la instalación:

    • $REGION apunta a la Región de AWS de su clúster. Por ejemplo, us-west-2.

    • $ACCOUNT_ID apunta al ID de cuenta de Amazon ECR de su región. Para obtener más información, consulte Cuentas de registro de Amazon ECR por región.

    • $RELEASE apunta a la versión de Amazon EMR que desea usar para su clúster. Con el escalado automático vertical, debe utilizar la versión 6.10.0 o una posterior de Amazon EMR.

  2. A continuación, ingrese los tokens de autenticación del operador en el registro de Amazon ECR.

    aws ecr get-login-password \ --region region-id | docker login \ --username AWS \ --password-stdin $ACCOUNT_ID.dkr.ecr.region-id.amazonaws.com
  3. Instale Amazon EMR en EKS en el operador de escalado automático vertical con el siguiente comando:

    ECR_URL=$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com && \ REPO_DEST=dynamic-sizing-k8s-operator-olm-bundle && \ BUNDLE_IMG=emr-$RELEASE-dynamic-sizing-k8s-operator && \ operator-sdk run bundle \ $ECR_URL/$REPO_DEST/$BUNDLE_IMG\:latest

    Esto creará una versión del operador de escalado automático vertical en el espacio de nombres predeterminado del clúster de Amazon EKS. Utilice este comando para llevar a cabo la instalación en un espacio de nombres diferente:

    operator-sdk run bundle \ $ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/dynamic-sizing-k8s-operator-olm-bundle/emr-$RELEASE-dynamic-sizing-k8s-operator:latest \ -n operator-namespace
    nota

    Si el espacio de nombres que especifique no existe, OLM no instalará el operador. Para obtener más información, consulte No se encontró el espacio de nombres de Kubernetes.

  4. Compruebe que haya instalado correctamente el operador con la herramienta de línea de comandos kubectl de Kubernetes.

    kubectl get csv -n operator-namespace

    El comando kubectl debe devolver su operador de escalado vertical recién implementado con un estado de Fase Correcto. Si tiene problemas con la instalación o la configuración, consulte Solución de problemas en el escalado automático vertical de Amazon EMR en EKS.