GKE 기반 Dataproc 가상 클러스터 다시 만들기 및 업데이트

기존 GKE 기반 Dataproc 가상 클러스터의 구성을 복사하고 복사된 구성을 업데이트한 다음 업데이트된 구성을 사용하여 새로운 GKE 기반 Dataproc 클러스터를 만들 수 있습니다.

GKE 기반 Dataproc 클러스터를 다시 만들고 업데이트하는 단계

gcloud

1. 환경 변수를 설정합니다.

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

  1. 기존 GKE 기반 Dataproc 클러스터 구성을 YAML 파일로 내보냅니다.

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

  2. 구성을 업데이트합니다.

    1. kubernetesNamespace 필드를 삭제합니다. 업데이트된 클러스터를 만들 때 네임스페이스 충돌을 방지하려면 이 필드를 삭제해야 합니다.

      샘플 sed 명령어를 사용하여 kubernetesNamespace 필드를 삭제합니다.

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

    2. Spark componentVersion을 변경하는 등의 추가 변경을 통해 GKE 기반 Dataproc 가상 클러스터 구성 설정을 업데이트합니다.

  3. 업데이트할 클러스터와 동일한 이름의 클러스터를 만드는 경우(원래 클러스터를 대체하는 경우) 기존 GKE 기반 Dataproc 가상 클러스터를 삭제합니다.

  4. 이전 삭제 작업이 완료될 때까지 기다린 후 업데이트된 클러스터 구성을 가져와서 업데이트된 구성 설정으로 새로운 GKE 기반 Dataproc 클러스터를 만듭니다.

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

API

1. 환경 변수를 설정합니다.

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

  1. 기존 GKE 기반 Dataproc 클러스터 구성을 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. kubernetesNamespace 필드를 삭제합니다. 업데이트된 클러스터를 만들 때 네임스페이스 충돌을 방지하려면 이 필드를 삭제해야 합니다.

    샘플 jq 명령어를 사용하여 kubernetesNamespace 필드를 삭제합니다.

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

    1. Spark componentVersion을 변경하는 등의 추가 변경을 통해 GKE 기반 Dataproc 가상 클러스터 구성 설정을 업데이트합니다.
  3. 업데이트할 클러스터와 동일한 이름의 클러스터를 만드는 경우(원래 클러스터를 대체하는 경우) 기존 GKE 기반 Dataproc 가상 클러스터를 삭제합니다.

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

  4. 이전 삭제 작업이 완료될 때까지 기다린 후 업데이트된 클러스터 구성을 가져와서 업데이트된 설정으로 새로운 GKE 기반 Dataproc 가상 클러스터를 만듭니다.

    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"
    

콘솔

Google Cloud 콘솔에서는 기존 클러스터 구성을 가져와서 GKE 기반 Dataproc 가상 클러스터를 다시 만들 수 없습니다.