Puedes copiar la configuración de un clúster virtual de Dataproc on GKE existente, actualizar la configuración copiada y, luego, crear un clúster nuevo de Dataproc on GKE con la configuración actualizada.
Pasos para volver a crear y actualizar un clúster de Dataproc on GKE
gcloud
1. Establece las variables de entorno:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exportar 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"
Actualiza la configuración.
Quita el campo
kubernetesNamespace
. Es necesario quitar este campo para evitar un conflicto de espacio de nombres cuando creas el clúster actualizado.Ejemplo del comando
sed
para quitar el campokubernetesNamespace
:sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yaml
Realiza cambios adicionales para actualizar la configuración del clúster virtual de Dataproc on GKE, como cambiar la componentVersion de Spark.
Borra el clúster virtual existente de Dataproc on GKE si crearás un clúster que tenga el mismo nombre que el clúster que se está actualizando (si reemplazas el clúster original).
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 nuevo de Dataproc on 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
Exportar 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"
Quita el campo
kubernetesNamespace
. Debes quitar este campo para evitar un conflicto de espacio de nombres cuando crees el clúster actualizado.Ejemplo de comando
jq
para quitar el campokubernetesNamespace
:jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
- Realiza cambios adicionales para actualizar la configuración del clúster virtual de Dataproc on GKE, como cambiar la componentVersion de Spark.
Borra el clúster virtual existente de Dataproc on GKE si crearás un clúster que tenga el mismo nombre que el clúster que se está actualizando (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}"
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 nuevo de Dataproc on 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 volver a crear un clúster virtual de Dataproc on GKE mediante la importación de la configuración de un clúster existente.