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 une instance 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 un cluster virtuel Dataproc sur GKE de configuration, par exemple en modifiant les paramètres componentVersion.

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

  4. Attendez que l'opération de suppression précédente se termine, puis importez le Mise à jour de la configuration du cluster pour créer un nouveau Dataproc sur GKE un cluster virtuel 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 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"

  2. Supprimez le 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 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 en modifiant la version du composant Spark.
  3. Supprimez le cluster virtuel Dataproc sur GKE existant si vous comptez en créer un. portant le même nom que le cluster mis à 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 que l'opération de suppression précédente se termine. puis importer la configuration de cluster mise à jour pour créer un nouveau Dataproc sur GKE un cluster virtuel 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 Dataproc sur GKE. un cluster virtuel en important la configuration d'un cluster existant.