Recréer et mettre à jour un cluster virtuel Dataproc sur GKE

Vous pouvez copier la configuration d'un cluster virtuel Dataproc sur GKE existant, mettre à jour la configuration copiée, puis créer un cluster Dataproc sur GKE à l'aide de la configuration mise à jour.

Étapes pour recréer et mettre à jour un cluster Dataproc sur GKE

gcloud

1. Définissez les variables d'environnement :

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

  1. Exportez la configuration de cluster Dataproc sur GKE existante vers un fichier YAML.

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

  2. Mettez à jour la configuration.

    1. Supprimez le champ kubernetesNamespace. La suppression de ce champ est nécessaire pour éviter tout conflit d'espaces de noms lors de la création du cluster mis à jour.

      Exemple de commande sed permettant de supprimer le champ kubernetesNamespace:

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

    2. Apportez des modifications supplémentaires pour mettre à jour les paramètres de configuration du cluster virtuel Dataproc sur GKE. Par exemple, modifiez la valeur componentVersion de Spark.

  3. Supprimez le cluster virtuel Dataproc sur GKE existant si vous comptez créer un cluster portant le même nom que celui qu'il met à jour (si vous remplacez le cluster d'origine).

  4. Attendez la fin de l'opération de suppression précédente, puis importez la configuration mise à jour du cluster pour créer un cluster virtuel Dataproc sur GKE avec les paramètres de configuration mis à jour.

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

API

1. Définissez les variables d'environnement :

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

  1. Exportez la configuration de cluster Dataproc sur GKE existante vers un fichier 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. Supprimez le champ kubernetesNamespace. La suppression de ce champ est nécessaire pour éviter tout conflit d'espaces de noms lors de la création du cluster mis à jour.

    Exemple de commande jq permettant de supprimer le champ kubernetesNamespace:

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

    1. Apportez des modifications supplémentaires pour mettre à jour les paramètres de configuration du cluster virtuel Dataproc sur GKE. Par exemple, modifiez la valeur componentVersion de Spark.
  3. Supprimez le cluster virtuel Dataproc sur GKE existant si vous comptez créer un cluster portant le même nom que celui qu'il met à jour (si vous remplacez le cluster d'origine).

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

  4. Attendez la fin de l'opération de suppression précédente, puis importez la configuration mise à jour du cluster pour créer un cluster virtuel Dataproc sur GKE avec les paramètres mis à jour.

    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 console Google Cloud ne permet pas de recréer un cluster virtuel Dataproc sur GKE en important la configuration d'un cluster existant.