Guida all'upgrade

Questa guida fornisce indicazioni generali su come eseguire l'upgrade di un'installazione esistente di Manufacturing Data Engine (MDE) utilizzando Terraform.

Se hai modificato gli script Terraform, potrebbero essere necessari passaggi aggiuntivi. Questa è una guida all'upgrade generica, quindi assicurati sempre di leggere anche le note di rilascio complete per la versione specifica che stai implementando, in quanto potrebbero includere informazioni da prendere in considerazione.

Prima di iniziare

Alcuni job Dataflow devono essere interrotti manualmente prima dell'upgrade. Le note di rilascio elencano i job che devi arrestare manualmente per la versione specifica a cui stai eseguendo l'upgrade.

Questa guida richiede i seguenti prerequisiti:

  1. Stai utilizzando il pacchetto di deployment predefinito.
  2. L'ambiente client dispone degli strumenti CLI richiesti installati nella versione più recente:

    Puoi utilizzare qualsiasi ambiente client per eseguire il deployment di MDE, ma puoi risparmiare tempo eseguendo il deployment da Cloud Shell, poiché la maggior parte degli strumenti richiesti è già installata.

    Attiva Cloud Shell

  3. Hai accesso completo al progetto MDE Google Cloud e ai file di configurazione utilizzati per il deployment originale:

    • File di chiavi JSON del service account: mde-imgs-service-account-key.json.
    • Terraform: input.tfvars.
    • Terraform: backend.conf.

    Tutti i comandi gcloud in questa guida presuppongono che il progetto predefinito sia impostato sul progetto di deployment di MDE. Puoi impostare il progetto predefinito utilizzando il seguente comando:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID progetto di deployment di MDE.

  4. Hai acquisito le credenziali per il cluster MDE GKE. Se non l'hai ancora fatto, utilizza il seguente comando:

    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
    

    Sostituisci CLUSTER_NAME con il nome del cluster se hai modificato il nome predefinito (mde-gke). Modifica KUBE_CONFIG_PATH se il file kubeconfig non si trova nel percorso predefinito.

Esegui l'upgrade

Questa sezione fornisce indicazioni su come eseguire l'upgrade utilizzando Terraform.

  1. Aggiorna le autorizzazioni del account di servizio Terraform per aggiungere le autorizzazioni appena richieste da MDE 1.4.0 e versioni successive. Possono essere aggiunti utilizzando i seguenti comandi:

    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. Esegui il backup della vecchia cartella di deployment utilizzando il seguente comando:

    cp -r MDE_FOLDER MDE_FOLDER_BACKUP
    

    Sostituisci MDE_FOLDER e MDE_FOLDER_BACKUP con il nome della cartella MDE e della cartella di backup.

  3. Scarica l'ultimo pacchetto di rilascio della soluzione MDE ed estrailo:

    1. Scarica il pacchetto della soluzione.
    2. Estrai il pacchetto nell'ambiente client.
    3. Sposta nella nuova cartella della release utilizzando il comando cd.
  4. Se esegui l'upgrade alla versione 1.4.x, copia i seguenti file dal backup alla nuova cartella utilizzando i seguenti comandi (i percorsi dei file potrebbero variare):

    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 esegui l'upgrade alla versione 1.5.1, copia solo i seguenti file:

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

    Sostituisci MDE_FOLDER_BACKUP con il nome della cartella di backup MDE.

  5. Se esegui l'upgrade dalla versione 1.4.x alla versione 1.5.x o dalla versione 1.5.0 alla versione 1.5.1, esegui lo script di pre-upgrade incluso nel pacchetto di rilascio:

    # 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 esegui l'upgrade alla versione 1.5.2, devi cambiare i provider Kubernetes per utilizzare il file kubeconfig locale nel file providers.tf con il seguente 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. Ricarica lo stato di Terraform utilizzando il seguente comando:

    terraform init -backend-config=backend.conf -reconfigure
    
  8. Crea un piano Terraform.

    Una volta pronti i parametri di input, devi creare un piano Terraform utilizzando il seguente comando. Puoi utilizzare il piano per verificare quali artefatti e configurazioni verranno creati nel progetto.

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

    Puoi sfogliare le modifiche pianificate utilizzando questo comando:

    terraform show -no-color ./tfplan > tfplan.txt
    more tfplan.txt
    
  9. Applica il piano Terraform utilizzando questo comando:

    terraform apply ./tfplan
    
  10. Verifica che il deployment sia riuscito.

    Al termine dell'esecuzione del comando terraform apply, dovresti visualizzare un messaggio di esito positivo simile al seguente (il numero effettivo dipenderà dalle opzioni di deployment e dalla versione specifiche):

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

Post-upgrade

Al termine dell'upgrade, devi eseguire uno o più dei seguenti passaggi, a seconda dello stato dell'implementazione precedente di MDE.

Viste BigQuery per i tipi esistenti

Se esegui l'upgrade da una release precedente alla 1.4.x, i tipi creati non avranno una visualizzazione Analytics creata, in quanto questa funzionalità è stata introdotta nella versione 1.4.0. Dovrai attivare nuovamente i tipi esistenti per attivare la ricreazione della vista Analytics. Puoi controllare l'endpoint /activate nel kit Postman fornito con la release.

Driver Filestore del cluster GKE

Se riscontri un problema per cui i pod del cluster GKE si avviano o sono bloccati in ContainerCreating, potrebbe essere dovuto al fatto che il driver Filestore non è abilitato. Puoi abilitarlo seguendo i passaggi descritti nella guida al deployment.