Sie können die Konfiguration eines vorhandenen virtuellen Dataproc-Clusters in GKE kopieren, die kopierte Konfiguration aktualisieren und dann mit der aktualisierten Konfiguration einen neuen Dataproc-Cluster in GKE erstellen.
Schritte zum Neuerstellen und Aktualisieren eines Dataproc-on-GKE-Clusters
gcloud
1. Legen Sie Umgebungsvariablen fest:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exportieren Sie die vorhandene Dataproc-Clusterkonfiguration in GKE 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 Namespacekonflikt beim Erstellen des aktualisierten Clusters zu vermeiden.Beispiel für einen
sed
-Befehl zum Entfernen des FeldskubernetesNamespace
:sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yaml
Nehmen Sie weitere Änderungen vor, um die Konfigurationseinstellungen des virtuellen Dataproc-Clusters in GKE zu aktualisieren, z. B. die Spark-componentVersion.
Löschen Sie den vorhandenen Dataproc-Cluster in GKE, wenn Sie einen Cluster mit demselben Namen wie den Cluster erstellen möchten, 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 Dataproc-virtuellen Cluster in GKE 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
Exportieren Sie die vorhandene Dataproc-Clusterkonfiguration in GKE 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"
Entfernen Sie das Feld
kubernetesNamespace
. Das Entfernen dieses Felds ist erforderlich, um einen Namespacekonflikt beim Erstellen des aktualisierten Clusters zu vermeiden.Beispiel für einen
jq
-Befehl zum Entfernen des FeldskubernetesNamespace
:jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
- Nehmen Sie weitere Änderungen vor, um die Konfigurationseinstellungen des virtuellen Dataproc-Clusters in GKE zu aktualisieren, z. B. die Spark-componentVersion.
Löschen Sie den vorhandenen Dataproc-Cluster in GKE, wenn Sie einen Cluster mit demselben Namen wie den zu aktualisierenden 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 Dataproc-on-GKE-virtuellen 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 Dataproc-Clusters in einem virtuellen GKE-Cluster nicht, indem die Konfiguration eines vorhandenen Clusters importiert wird.