Sie können die Konfiguration eines vorhandenen virtuellen Dataproc-Clusters in GKE kopieren, die kopierte Konfiguration aktualisieren und dann einen neuen Dataproc-Cluster in GKE mit der aktualisierten Konfiguration erstellen.
Dataproc-on-GKE-Cluster neu erstellen und aktualisieren
gcloud
Legen Sie Umgebungsvariablen fest:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exportieren Sie die vorhandene Dataproc on GKE-Clusterkonfiguration in eine YAML-Datei.
gcloud dataproc clusters export $CLUSTER \ --region=$REGION > "${CLUSTER}-config.yaml"
Konfiguration aktualisieren
Entfernen Sie das Feld
kubernetesNamespace
. Das Entfernen dieses Felds ist erforderlich, um einen Namespace-Konflikt zu vermeiden, wenn Sie den aktualisierten Cluster erstellen.Beispiel für einen
sed
-Befehl zum Entfernen des FeldskubernetesNamespace
:sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yaml
Nehmen Sie zusätzliche Änderungen vor, um die Konfigurationseinstellungen des virtuellen Dataproc-Clusters in GKE zu aktualisieren, z. B. die componentVersion von Spark.
Löschen Sie den vorhandenen virtuellen Dataproc on GKE-Cluster, wenn Sie einen Cluster mit demselben Namen wie der Cluster erstellen, der aktualisiert wird (wenn Sie den ursprünglichen Cluster ersetzen).
Warten Sie, bis der vorherige Löschvorgang abgeschlossen ist, und importieren Sie dann die aktualisierte Clusterkonfiguration, um einen neuen virtuellen Dataproc on GKE-Cluster mit den aktualisierten Konfigurationseinstellungen zu erstellen.
gcloud dataproc clusters import $CLUSTER \ --region=$REGION \ --source="${CLUSTER}-config.yaml"
API
Legen Sie Umgebungsvariablen fest:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exportieren Sie die vorhandene Dataproc on GKE-Clusterkonfiguration 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"
Konfiguration aktualisieren
Entfernen Sie das Feld
kubernetesNamespace
. Das Entfernen dieses Felds ist erforderlich, um einen Namespace-Konflikt beim Erstellen des aktualisierten Clusters zu vermeiden.Beispiel für den
jq
-Befehl zum Entfernen des FeldskubernetesNamespace
:jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
Nehmen Sie zusätzliche Änderungen vor, um die Konfigurationseinstellungen des virtuellen Dataproc-Clusters in GKE zu aktualisieren, z. B. die componentVersion von Spark.
Löschen Sie den vorhandenen virtuellen Dataproc on 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}"
Warten Sie, bis der vorherige Löschvorgang abgeschlossen ist, und importieren Sie dann die aktualisierte Clusterkonfiguration, um einen neuen virtuellen Dataproc on GKE-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 in GKE nicht, indem die Konfiguration eines vorhandenen Clusters importiert wird.