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.

Procédure de recréation et de mise à jour d'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 existante du cluster Dataproc sur GKE 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 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 des modifications supplémentaires pour mettre à jour les paramètres de configuration du cluster virtuel Dataproc sur GKE, par exemple en modifiant la componentVersion Spark.

  3. Supprimez le cluster virtuel Dataproc sur GKE existant si vous créez 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 du 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
  

  1. Exportez la configuration existante du cluster Dataproc sur GKE 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 un conflit d'espace de noms lors de la création du cluster mis à jour.

    Exemple de commande jq pour 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 en modifiant la componentVersion Spark.
  3. Supprimez le cluster virtuel Dataproc sur GKE existant si vous créez 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 du 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.