Membuat ulang dan mengupdate Dataproc di cluster virtual GKE

Anda dapat menyalin Dataproc yang ada pada konfigurasi cluster virtual GKE, memperbarui konfigurasi yang disalin, lalu membuat Dataproc baru di cluster GKE menggunakan konfigurasi yang telah diupdate.

Langkah-langkah untuk membuat ulang dan mengupdate Dataproc di cluster GKE

gcloud

1. Menetapkan variabel lingkungan:

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

  1. Ekspor konfigurasi cluster Dataproc yang ada di GKE ke file YAML.

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

  2. Perbarui konfigurasi.

    1. Hapus kolom kubernetesNamespace. Kolom ini perlu dihapus untuk menghindari konflik namespace saat Anda membuat cluster yang diperbarui.

      Contoh perintah sed untuk menghapus kolom kubernetesNamespace:

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

    2. Lakukan perubahan tambahan untuk mengupdate Dataproc pada setelan konfigurasi cluster virtual GKE, seperti mengubah componentVersion Spark.

  3. Hapus Dataproc yang ada di cluster virtual GKE jika Anda akan membuat cluster dengan nama yang sama dengan cluster yang sedang diperbarui (jika Anda mengganti cluster asli).

  4. Tunggu hingga operasi penghapusan sebelumnya selesai, lalu impor konfigurasi cluster yang telah diperbarui untuk membuat cluster virtual Dataproc baru di GKE dengan setelan konfigurasi yang telah diperbarui.

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

API

1. Menetapkan variabel lingkungan:

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

  1. Ekspor konfigurasi cluster Dataproc yang ada di GKE ke file 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. Hapus kolom kubernetesNamespace. Kolom ini perlu dihapus untuk menghindari konflik namespace saat Anda membuat cluster yang diperbarui.

    Contoh perintah jq untuk menghapus kolom kubernetesNamespace:

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

    1. Lakukan perubahan tambahan untuk mengupdate Dataproc pada setelan konfigurasi cluster virtual GKE, seperti mengubah componentVersion Spark.
  3. Hapus Dataproc yang ada di cluster virtual GKE jika Anda akan membuat cluster dengan nama yang sama dengan cluster yang sedang diperbarui (jika Anda mengganti cluster asli).

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

  4. Tunggu hingga operasi penghapusan sebelumnya selesai, lalu impor konfigurasi cluster yang telah diperbarui untuk membuat cluster virtual Dataproc baru di GKE dengan setelan yang telah diperbarui.

    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"
    

Konsol

Konsol Google Cloud tidak mendukung pembuatan ulang Dataproc di cluster virtual GKE dengan mengimpor konfigurasi cluster yang ada.