Vuelve a crear y actualiza un clúster virtual de Dataproc en GKE

Puedes copiar la configuración existente de un clúster virtual de Dataproc on GKE, actualizar la configuración copiada y, luego, crear un nuevo Dataproc on GKE clúster con 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. Exporta la configuración existente del clúster de Dataproc on GKE a un archivo YAML.

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

  2. Actualiza la configuración.

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

      Comando sed de muestra para quitar el campo kubernetesNamespace:

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

    2. Realiza cambios adicionales para actualizar el clúster virtual de Dataproc en GKE parámetros de configuración, como cambiar la cuenta componentVersion.

  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 configuración actualizada del clúster para crear un nuevo Dataproc on GKE clúster virtual con los parámetros de configuración actualizados.

    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. Exporta la configuración existente del clúster de Dataproc on 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 kubernetesNamespace . La eliminación de este campo es necesaria para evitar un conflicto de espacio de nombres cuando crees el clúster actualizado.

    Comando jq de muestra para quitar el campo kubernetesNamespace:

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

    1. Realiza cambios adicionales para actualizar la configuración del clúster virtual de Dataproc en GKE, como cambiar la componentVersion de Spark.
  3. Borra el clúster virtual de Dataproc en GKE existente si crearás un clúster que tenga el mismo nombre que el clúster que se actualizará (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 actualizada para crear un clúster virtual de Dataproc en GKE nuevo 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"
    

Console

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