Cómo volver a crear y actualizar un clúster virtual de Google Kubernetes Engine

Puedes copiar la configuración de un clúster virtual existente de Managed Service para Apache Spark en GKE, actualizar la configuración copiada y, luego, crear un clúster nuevo de Managed Service para Apache Spark en GKE con la configuración actualizada.

Cómo volver a crear y actualizar un clúster de Managed Service para Apache Spark en GKE

gcloud

  1. Establece las variables de entorno:

    CLUSTER=existing Managed Service for Apache Spark on GKE  cluster name \
      REGION=region
    

  2. Exporta la configuración del clúster existente de Managed Service para Apache Spark en GKE a un archivo YAML.

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

  3. Actualiza la configuración.

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

      Comando sed de ejemplo para quitar el campo kubernetesNamespace:

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

    2. Realiza cambios adicionales para actualizar la configuración del clúster virtual de Managed Service para Apache Spark en GKE, como cambiar el componentVersion de Spark.

  4. Borra el clúster virtual existente de Managed Service para Apache Spark en 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).

  5. 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 Managed Service para Apache Spark 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 Managed Service for Apache Spark on GKE  cluster name \
      REGION=region
    

  2. Exporta la configuración del clúster existente de Managed Service para Apache Spark 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"

  3. Actualiza la configuración.

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

      Comando jq de ejemplo para quitar el campo kubernetesNamespace:

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

    2. Realiza cambios adicionales para actualizar la configuración del clúster virtual de Managed Service para Apache Spark en GKE, como cambiar el componentVersion de Spark.

  4. Borra el clúster virtual existente de Managed Service para Apache Spark en 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}"
    

  5. 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 Managed Service para Apache Spark 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"
    

Console

La consola de Google Cloud no admite la recreación de un clúster virtual de Managed Service para Apache Spark en GKE a través de la importación de la configuración de un clúster existente.