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

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

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
    

  2. Exportez la configuration du cluster Dataproc sur GKE existant dans un fichier YAML.

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

  3. Mettez à jour la configuration.

    1. Supprimez le champ kubernetesNamespace. Il est nécessaire de supprimer ce champ pour éviter un conflit d'espace de noms lorsque vous créez le cluster mis à jour.

      Exemple de commande sed pour supprimer le champ kubernetesNamespace :

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

    2. Apportez d'autres modifications pour mettre à jour les paramètres de configuration du cluster virtuel Dataproc sur GKE, par exemple en modifiant le componentVersion de Spark.

  4. Supprimez le cluster virtuel Dataproc sur GKE existant si vous souhaitez créer un cluster portant le même nom que celui que vous mettez à jour (si vous remplacez le cluster d'origine).

  5. Attendez que l'opération de suppression précédente soit terminée, puis importez la configuration de cluster mise à jour 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
    

  2. Exportez la configuration du cluster Dataproc sur GKE existant dans 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"

  3. Mettez à jour la configuration.

    1. Supprimez le champ kubernetesNamespace. La suppression de ce champ est nécessaire pour éviter un conflit d'espace de noms lorsque vous créez le cluster mis à jour.

      Exemple de commande jq pour supprimer le champ kubernetesNamespace :

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

    2. Apportez d'autres modifications pour mettre à jour les paramètres de configuration du cluster virtuel Dataproc sur GKE, par exemple en modifiant le componentVersion de Spark.

  4. Supprimez le cluster virtuel Dataproc sur GKE existant si vous souhaitez créer un cluster portant le même nom que celui que vous mettez à 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}"
    

  5. Attendez que l'opération de suppression précédente soit terminée, puis importez la configuration de cluster mise à jour 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.