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.
Dataproc-Cluster in GKE neu erstellen und aktualisieren
gcloud
Legen Sie Umgebungsvariablen fest:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exportieren Sie die Konfiguration des vorhandenen Dataproc-Clusters in GKE in eine YAML-Datei.
gcloud dataproc clusters export $CLUSTER \ --region=$REGION > "${CLUSTER}-config.yaml"Aktualisieren Sie die Konfiguration.
Entfernen Sie das
kubernetesNamespaceFeld. Das Entfernen dieses Felds ist erforderlich, um einen Namespace-Konflikt zu vermeiden wenn Sie den aktualisierten Cluster erstellen.Beispiel für einen
sedBefehl zum Entfernen deskubernetesNamespaceFelds:sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yamlNehmen Sie weitere Ä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-Cluster in GKE, wenn Sie einen Cluster erstellen möchten, der denselben Namen wie der Cluster hat, den Sie aktualisieren (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-Cluster in GKE 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 Konfiguration des vorhandenen Dataproc-Clusters 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"Aktualisieren Sie die Konfiguration.
Entfernen Sie das
kubernetesNamespaceFeld. Das Entfernen dieses Felds ist erforderlich, um einen Namespace-Konflikt zu vermeiden wenn Sie den aktualisierten Cluster erstellen.Beispiel für einen
jqBefehl zum Entfernen deskubernetesNamespaceFelds:jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
Nehmen Sie weitere Ä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-Cluster in GKE, wenn Sie einen Cluster mit demselben Namen wie der Cluster erstellen möchten, den Sie aktualisieren (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-Cluster in GKE 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.