Guia de upgrade

Este guia fornece orientações gerais sobre como fazer upgrade de uma instalação do Manufacturing Data Engine (MDE) usando o Terraform.

Se você modificou scripts do Terraform, talvez precise de mais etapas. Este é um guia de upgrade genérico. Por isso, sempre leia as notas da versão completa da versão específica que você está implantando, já que elas podem incluir informações importantes.

Antes de começar

Alguns jobs do Dataflow precisam ser interrompidos manualmente antes da atualização. As notas da versão listam os jobs que precisam ser interrompidos manualmente para a versão específica em que você está fazendo upgrade.

Este guia exige os seguintes pré-requisitos:

  1. Você está usando o pacote de implantação padrão.
  2. O ambiente do cliente tem as ferramentas de CLI necessárias instaladas na versão mais atualizada:

    É possível usar qualquer ambiente de cliente para implantar o MDE, mas você pode economizar tempo implantando pelo Cloud Shell, já que ele tem a maioria das ferramentas necessárias instaladas.

    Ativar o Cloud Shell

  3. Você tem acesso total ao projeto MDE Google Cloud e aos arquivos de configuração usados para a implantação original:

    • Arquivo de chave JSON da conta de serviço: mde-imgs-service-account-key.json.
    • Terraform: input.tfvars.
    • Terraform: backend.conf.

    Todos os comandos gcloud neste guia pressupõem que o projeto padrão esteja definido como o projeto de implantação do MDE. Você pode definir o projeto padrão usando o seguinte comando:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto de implantação do MDE.

  4. Você adquiriu as credenciais do cluster do GKE do MDE. Use o comando a seguir se ainda não tiver feito isso:

    export CLUSTER_NAME="mde-gke"
    export CLUSTER_LOCATION=$(gcloud container clusters list --filter="name:$CLUSTER_NAME" --format="value(LOCATION)" )
    
    # when upgrading to 1.5.2 we need to enable DNS endpoint on GKE cluster to allow Terraform connect to it
    gcloud container clusters update $CLUSTER_NAME --region $CLUSTER_LOCATION --enable-dns-access
    
    export KUBE_CONFIG_PATH=~/.kube/config
    gcloud container clusters get-credentials $CLUSTER_NAME --region $CLUSTER_LOCATION --dns-endpoint
    

    Substitua CLUSTER_NAME pelo nome do cluster se você tiver mudado o nome padrão (mde-gke). Mude KUBE_CONFIG_PATH se o kubeconfig não estiver no caminho padrão.

Fazer upgrade

Nesta seção, fornecemos orientações sobre como fazer o upgrade usando o Terraform.

  1. Atualize as permissões da conta de serviço do Terraform para adicionar as permissões recém-obrigatórias do MDE 1.4.0 e versões mais recentes. Eles podem ser adicionados usando os seguintes comandos:

    export PROJECT_ID=$(gcloud config get-value project)
    export SA_TERRAFORM="mde-tf"
    
    gcloud projects add-iam-policy-binding $PROJECT_ID \
    --member="serviceAccount:$SA_TERRAFORM@$PROJECT_ID.iam.gserviceaccount.com" \
    --role='roles/file.editor'
    
  2. Faça backup da pasta de implantação antiga usando o seguinte comando:

    cp -r MDE_FOLDER MDE_FOLDER_BACKUP
    

    Substitua MDE_FOLDER e MDE_FOLDER_BACKUP pelo nome da pasta do MDE e da pasta de backup.

  3. Faça o download e extraia o pacote de lançamento da solução MDE mais recente:

    1. Faça o download do pacote da solução.
    2. Extraia o pacote para o ambiente do cliente.
    3. Mova para a nova pasta de lançamento usando o comando cd.
  4. Se você estiver fazendo upgrade para a v1.4.x, copie os seguintes arquivos do backup para a nova pasta usando os comandos a seguir (os caminhos dos arquivos podem ser diferentes):

    cp ../MDE_FOLDER_BACKUP/mde-imgs-service-account-key.json .
    cd deployment/terraform
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/input.tfvars .
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/backend.conf .
    

    Se você estiver fazendo upgrade para a v1.5.1, copie apenas os seguintes arquivos:

    cd deployment/terraform
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/input.tfvars .
    cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/backend.conf .
    

    Substitua MDE_FOLDER_BACKUP pelo nome da pasta de backup do MDE.

  5. Se você estiver fazendo upgrade da v1.4.x para a v1.5.x ou da v1.5.0 para a v1.5.1, execute o script de pré-upgrade incluído no pacote de lançamento:

    # Execute script from the upgrade/1.5 directory and return to the terraform directory
    cd ../../upgrade/1.5
    export BQ_PROJECT_ID=$(gcloud config get-value project)
    export PUBSUB_PROJECT_ID=$(gcloud config get-value project)
    sh migrate-metadata-instance-bq-table.sh "$BQ_PROJECT_ID" "$PUBSUB_PROJECT_ID"
    cd ../../deployment/terraform
    
  6. Se você estiver fazendo upgrade para a versão 1.5.2, mude os provedores do Kubernetes para usar o kubeconfig local no arquivo providers.tf com o seguinte comando:

    provider "kubernetes" {
    config_path            = "~/.kube/config"
    # host                   = "https://${local.gke_host}"
    # token                  = data...
    # cluster_ca_certificate = local.gke_ca_cert
    }
    
    provider "helm" {
    kubernetes {
        config_path            = "~/.kube/config"
        # host                   = "https://${local.gke_host}"
        # token                  = data...
        # cluster_ca_certificate = local.gke_ca_cert
    }
    }
    
  7. Recarregue o estado do Terraform usando o seguinte comando:

    terraform init -backend-config=backend.conf -reconfigure
    
  8. Crie um plano do Terraform.

    Quando os parâmetros de entrada estiverem prontos, crie um plano do Terraform usando o seguinte comando. Use o plano para verificar quais artefatos e configurações serão criados no projeto.

    terraform plan -var-file=./input.tfvars -out=./tfplan
    

    Para navegar pelas mudanças planejadas, use este comando:

    terraform show -no-color ./tfplan > tfplan.txt
    more tfplan.txt
    
  9. Aplique o plano do Terraform usando o seguinte comando:

    terraform apply ./tfplan
    
  10. Verifique se a implantação foi bem-sucedida.

    Depois que o comando terraform apply terminar de ser executado, você vai ver uma mensagem de sucesso semelhante a esta. O número real vai depender das opções e da versão de implantação específicas:

    Apply complete! Resources: 1 added, 34 changed, 0 destroyed.
    

Pós-upgrade

Depois que o upgrade for concluído, será necessário realizar uma ou mais das seguintes etapas, dependendo do status da implantação anterior do MDE.

Visualizações do BigQuery para tipos atuais

Se você estiver fazendo upgrade de uma versão anterior à 1.4.x, os tipos criados não terão uma visualização de análise criada para eles, já que esse recurso foi introduzido na versão 1.4.0. Você precisará ativar os tipos atuais novamente para acionar a recriação da visualização do Google Analytics. Você pode verificar o endpoint /activate no kit do Postman que é enviado com a versão.

Driver do Filestore cluster do GKE

Se você tiver um problema em que os pods do cluster do GKE estão iniciando ou presos no ContainerCreating, isso pode ser resultado de o driver do Filestore não estar ativado. Para ativar, siga as etapas no guia de implantação.