Virtuellen Dataproc in GKE-Cluster neu erstellen und aktualisieren

Sie können eine vorhandene virtuelle Dataproc in GKE-Cluster kopieren, die kopierte Konfiguration aktualisieren und dann einen neuen Dataproc in GKE-Cluster mit der aktualisierten Konfiguration erstellen.

Dataproc-Cluster in GKE neu erstellen und aktualisieren

gcloud

1. Legen Sie Umgebungsvariablen fest:

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

  1. Exportieren Sie die vorhandene Dataproc-Cluster-Konfiguration in eine YAML-Datei.

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

  2. Konfiguration aktualisieren

    1. Entfernen Sie das Feld kubernetesNamespace. Das Entfernen dieses Feldes ist erforderlich, um einen Namespace-Konflikt beim Erstellen des aktualisierten Clusters zu vermeiden.

      Beispiel für einen sed-Befehl zum Entfernen des Felds kubernetesNamespace:

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

    2. Nehmen Sie zusätzliche Änderungen vor, um die Einstellungen für die virtuelle Clusterkonfiguration von Dataproc in GKE zu aktualisieren, z. B. die ComponentVersion von Spark zu ändern.

  3. Löschen Sie den vorhandenen Dataproc in GKE-Cluster, wenn Sie einen Cluster mit demselben Namen wie der zu aktualisierende Cluster erstellen (wenn Sie den ursprünglichen Cluster ersetzen).

  4. Warten Sie, bis der vorherige Löschvorgang abgeschlossen ist. Importieren Sie dann die aktualisierte Clusterkonfiguration, um einen neuen Dataproc in GKE-Cluster mit den aktualisierten Konfigurationseinstellungen zu erstellen.

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

API

1. Legen Sie Umgebungsvariablen fest:

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

  1. Exportieren Sie die vorhandene Dataproc-Cluster-Konfiguration in eine YAML-Datei.

    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. Entfernen Sie das Feld kubernetesNamespace. Das Entfernen dieses Feldes ist erforderlich, um einen Namespace-Konflikt zu vermeiden, wenn Sie den aktualisierten Cluster erstellen.

    Beispiel für einen jq-Befehl zum Entfernen des Felds kubernetesNamespace:

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

    1. Nehmen Sie zusätzliche Änderungen vor, um die Einstellungen für die virtuelle Clusterkonfiguration von Dataproc in GKE zu aktualisieren, z. B. die ComponentVersion von Spark zu ändern.
  3. Löschen Sie den vorhandenen Dataproc in GKE-Cluster, wenn Sie einen Cluster mit demselben Namen wie der zu aktualisierende Cluster erstellen (wenn Sie den ursprünglichen Cluster ersetzen).

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

  4. Warten Sie, bis der vorherige Löschvorgang beendet ist. Importieren Sie dann die aktualisierte Clusterkonfiguration, um einen neuen virtuellen Dataproc-Cluster mit den aktualisierten Einstellungen zu erstellen.

    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

Die Google Cloud Console unterstützt das Neuerstellen eines virtuellen Dataproc-Clusters nicht, indem eine vorhandene Clusterkonfiguration importiert wird.