É possível copiar a configuração de um cluster virtual do Dataproc no GKE, atualizar a configuração copiada e criar um novo Dataproc no cluster do GKE usando a configuração atualizada.
Etapas para recriar e atualizar um Dataproc no cluster do GKE
gcloud
1. Defina as variáveis de ambiente:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exporte a configuração atual do cluster do Dataproc no GKE para um arquivo YAML.
gcloud dataproc clusters export $CLUSTER \ --region=$REGION > "${CLUSTER}-config.yaml"
Atualizar a configuração.
Remova o campo
kubernetesNamespace
. É necessário remover esse campo para evitar um conflito de namespace ao criar o cluster atualizado.Exemplo de comando
sed
para remover o campokubernetesNamespace
:sed -E "s/kubernetesNamespace: .+$//g" ${CLUSTER}-config.yaml
Faça outras alterações para atualizar o Dataproc nas definições de configuração do cluster virtual do GKE, como alterar a componentVersion do Spark.
Exclua o cluster virtual do Dataproc no GKE se você criar um cluster com o mesmo nome do cluster que está atualizando (se você estiver substituindo o cluster original).
Aguarde a conclusão da operação de exclusão anterior. Em seguida, importe a configuração atualizada do cluster 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 as variáveis de ambiente:
CLUSTER=existing Dataproc on GKE cluster name \ REGION=region
Exporte a configuração atual do cluster do Dataproc no GKE para um arquivo 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"
Remova o campo
kubernetesNamespace
. É necessário remover esse campo para evitar um conflito de namespace ao criar o cluster atualizado.Exemplo de comando
jq
para remover o campokubernetesNamespace
:jq 'del(.virtualClusterConfig.kubernetesClusterConfig.kubernetesNamespace)'
- Faça outras alterações para atualizar o Dataproc nas definições de configuração do cluster virtual do GKE, como alterar a componentVersion do Spark.
Exclua o cluster virtual do Dataproc no GKE se você criar um cluster com o mesmo nome do cluster que está atualizando (se você estiver substituindo 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}"
Aguarde a conclusão da operação de exclusão anterior. Em seguida, importe a configuração atualizada do cluster para criar um novo cluster virtual do Dataproc no GKE com as configuraçõ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"
Console
O console do Google Cloud não suporta a recriação de um Dataproc no cluster virtual do GKE importando a configuração de um cluster atual.