Volver a crear y actualizar un clúster virtual de Dataproc en GKE

Puedes copiar la configuración de un clúster virtual de Dataproc en GKE existente, actualizar la configuración copiada y, luego, crear un clúster nuevo de Dataproc en GKE mediante la configuración actualizada.

Pasos para volver a crear y actualizar un clúster de Dataproc en GKE

gcloud

1. Establece las variables de entorno:

CLUSTER=existing Dataproc on GKE  cluster name \
  REGION=region
  

  1. Exportar la configuración del clúster existente de Dataproc en GKE a un archivo YAML

    gcloud dataproc clusters export $CLUSTER \
        --region=$REGION > "${CLUSTER}-config.yaml"
    

  2. Actualiza la configuración.

    1. Quita el campo kubernetesNamespace. Es necesario quitar este campo para evitar un conflicto de espacio de nombres cuando creas el clúster actualizado.

      Ejemplo de comando sed para quitar el campo kubernetesNamespace:

      sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yaml
      

    2. Haz cambios adicionales para actualizar los parámetros de configuración del clúster virtual de Dataproc en GKE, como cambiar la componentVersion de Spark.

  3. Borra el clúster virtual de Dataproc existente en GKE si crearás un clúster que tenga el mismo nombre que el clúster que se actualizará (si reemplazas el clúster original).

  4. Espera a que finalice la operación de eliminación anterior y, luego, importa la configuración actualizada del clúster para crear un clúster virtual nuevo de Dataproc en GKE con la configuración actualizada.

    gcloud dataproc clusters import $CLUSTER \
        --region=$REGION \
        --source="${CLUSTER}-config.yaml"

API

1. Establece las variables de entorno:

CLUSTER=existing Dataproc on GKE  cluster name \
  REGION=region
  

  1. Exportar la configuración del clúster existente de Dataproc en GKE a un archivo YAML

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"  "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${CLUSTER}?alt=json" > "${CLUSTER}-config.json"

  2. Quita el campo kubernetesNamespace. La eliminación de este campo es necesaria para evitar un conflicto de espacio de nombres cuando creas el clúster actualizado.

    Ejemplo de comando jq para quitar el campo kubernetesNamespace:

    jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
      

    1. Haz cambios adicionales para actualizar los parámetros de configuración del clúster virtual de Dataproc en GKE, como cambiar la componentVersion de Spark.
  3. Borra el clúster virtual de Dataproc existente en GKE si crearás un clúster que tenga el mismo nombre que el clúster que actualiza (si reemplazas el clúster original).

    curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters/${CLUSTER}"
    

  4. Espera a que finalice la operación de eliminación anterior y, luego, importa la configuración del clúster actualizado para crear un clúster virtual nuevo de Dataproc en GKE con la configuración actualizada.

    curl -i -X POST  -H "Authorization: Bearer $(gcloud auth print-access-token)"  -H "Content-Type: application/json; charset=utf-8" -d "@${CLUSTER}-config.json" "https://dataproc.googleapis.com/v1/projects/${PROJECT}/regions/${REGION}/clusters?alt=json"
    

Consola

La consola de Google Cloud no admite la recreación de un clúster virtual de Dataproc en GKE mediante la importación de la configuración de un clúster existente.