Recrie e atualize um cluster virtual do Dataproc no GKE

Pode copiar a configuração de um cluster virtual do Dataproc no GKE existente, atualizar a configuração copiada e, em seguida, criar um novo cluster do Dataproc no GKE com a configuração atualizada.

Recrie e atualize um cluster do Dataproc no GKE

gcloud

  1. Defina variáveis de ambiente:

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

  2. Exporte a configuração do cluster do Dataproc no GKE existente para um ficheiro YAML.

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

  3. Atualize a configuração.

    1. Remova o campo kubernetesNamespace. A remoção deste campo é necessária para evitar um conflito de espaço de nomes quando criar o cluster atualizado.

      Exemplo de comando sed para remover o campo kubernetesNamespace:

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

    2. Faça alterações adicionais para atualizar as definições de configuração do cluster virtual do Dataproc no GKE, como alterar o componentVersion do Spark.

  4. Elimine o cluster virtual do Dataproc on GKE existente se criar um cluster que tenha o mesmo nome que o cluster que está a atualizar (se estiver a substituir o cluster original).

  5. Aguarde que a operação de eliminação anterior termine e, em seguida, importe a configuração do cluster atualizada para criar um novo cluster virtual do Dataproc no GKE com as definições de configuração atualizadas.

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

API

  1. Defina variáveis de ambiente:

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

  2. Exporte a configuração do cluster do Dataproc no GKE existente para um ficheiro 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"

  3. Atualize a configuração.

    1. Remova o campo kubernetesNamespace. A remoção deste campo é necessária para evitar um conflito de espaço de nomes quando criar o cluster atualizado.

      Exemplo de comando jq para remover o campo kubernetesNamespace:

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

    2. Faça alterações adicionais para atualizar as definições de configuração do cluster virtual do Dataproc no GKE, como alterar o componentVersion do Spark.

  4. Elimine o cluster virtual do Dataproc on GKE existente se criar um cluster com o mesmo nome do cluster que está a atualizar (se estiver a substituir o cluster original).

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

  5. Aguarde que a operação de eliminação anterior termine e, em seguida, importe a configuração do cluster atualizada para criar um novo cluster virtual do Dataproc no GKE com as definições atualizadas.

    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"
    

Consola

A Google Cloud consola não suporta a recriação de um cluster virtual do Dataproc no GKE através da importação da configuração de um cluster existente.