Upgrade-Leitfaden

In dieser Anleitung finden Sie allgemeine Informationen zum Aktualisieren einer vorhandenen Manufacturing Data Engine-Installation (MDE) mit Terraform.

Wenn Sie Terraform-Skripts geändert haben, sind möglicherweise zusätzliche Schritte erforderlich. Dies ist eine allgemeine Upgradeanleitung. Lesen Sie daher immer auch die vollständigen Versionshinweise für die spezifische Version, die Sie bereitstellen, da diese Informationen enthalten können, die Sie berücksichtigen müssen.

Hinweise

Einige Dataflow-Jobs müssen vor dem Upgrade manuell beendet werden. In den Versionshinweisen sind die Jobs aufgeführt, die Sie für die jeweilige Version, auf die Sie aktualisieren, manuell beenden müssen.

Für diesen Leitfaden gelten die folgenden Voraussetzungen:

  1. Sie verwenden das Standardbereitstellungspaket.
  2. In Ihrer Clientumgebung sind die erforderlichen CLI-Tools in der neuesten Version installiert:

    Sie können MDE in jeder Clientumgebung bereitstellen. Wenn Sie die Bereitstellung jedoch über Cloud Shell vornehmen, können Sie Zeit sparen, da die meisten erforderlichen Tools dort bereits installiert sind.

    Cloud Shell aktivieren

  3. Sie haben vollen Zugriff auf das MDE Google Cloud -Projekt und auf die Konfigurationsdateien, die für das ursprüngliche Deployment verwendet wurden:

    • JSON-Schlüsseldatei des Dienstkontos: mde-imgs-service-account-key.json.
    • Terraform: input.tfvars.
    • Terraform: backend.conf.

    Bei allen gcloud-Befehlen in dieser Anleitung wird davon ausgegangen, dass das Standardprojekt auf das MDE-Bereitstellungsprojekt festgelegt ist. Mit dem folgenden Befehl können Sie das Standardprojekt festlegen:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die Projekt-ID des MDE-Bereitstellungsprojekts.

  4. Sie haben die Anmeldedaten für den MDE-GKE-Cluster abgerufen. Verwenden Sie den folgenden Befehl, falls noch nicht geschehen:

    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
    

    Ersetzen Sie CLUSTER_NAME durch den Namen des Clusters, wenn Sie den Standardnamen (mde-gke) geändert haben. Ändern Sie KUBE_CONFIG_PATH, wenn sich Ihre kubeconfig nicht im Standardpfad befindet.

Upgrade

In diesem Abschnitt finden Sie eine Anleitung zum Ausführen des Upgrades mit Terraform.

  1. Aktualisieren Sie die Berechtigungen des Terraform-Dienstkontos, um die neu erforderlichen Berechtigungen ab MDE 1.4.0 hinzuzufügen. Sie können mit den folgenden Befehlen hinzugefügt werden:

    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. Sichern Sie den alten Bereitstellungsordner mit dem folgenden Befehl:

    cp -r MDE_FOLDER MDE_FOLDER_BACKUP
    

    Ersetzen Sie MDE_FOLDER und MDE_FOLDER_BACKUP durch die Namen des MDE-Ordners und des Sicherungsordners.

  3. Laden Sie das aktuelle Release-Paket für die MDE-Lösung herunter und extrahieren Sie es:

    1. Laden Sie das Lösungspaket herunter.
    2. Entpacken Sie das Paket in Ihrer Clientumgebung.
    3. Wechseln Sie mit dem Befehl cd in den neuen Release-Ordner.
  4. Wenn Sie ein Upgrade auf Version 1.4.x durchführen, kopieren Sie die folgenden Dateien aus der Sicherung in den neuen Ordner. Verwenden Sie dazu die folgenden Befehle (Dateipfade können abweichen):

    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 .
    

    Wenn Sie auf Version 1.5.1 aktualisieren, kopieren Sie nur die folgenden Dateien:

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

    Ersetzen Sie MDE_FOLDER_BACKUP durch den Namen des MDE-Sicherungsordners.

  5. Wenn Sie ein Upgrade von Version 1.4.x auf Version 1.5.x oder von Version 1.5.0 auf Version 1.5.1 durchführen, führen Sie das im Releasepaket enthaltene Pre-Upgrade-Script aus:

    # 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. Wenn Sie ein Upgrade auf Version 1.5.2 durchführen, müssen Sie die Kubernetes-Anbieter so umstellen, dass die lokale kubeconfig in der Datei providers.tf verwendet wird. Verwenden Sie dazu den folgenden Befehl:

    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. Laden Sie den Terraform-Status mit dem folgenden Befehl neu:

    terraform init -backend-config=backend.conf -reconfigure
    
  8. Erstellen Sie einen Terraform-Plan.

    Sobald die Eingabeparameter bereit sind, müssen Sie mit dem folgenden Befehl einen Terraform-Plan erstellen. Mithilfe des Plans können Sie prüfen, welche Artefakte und Konfigurationen im Projekt erstellt werden.

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

    Mit diesem Befehl können Sie sich die geplanten Änderungen ansehen:

    terraform show -no-color ./tfplan > tfplan.txt
    more tfplan.txt
    
  9. Wenden Sie den Terraform-Plan mit dem folgenden Befehl an:

    terraform apply ./tfplan
    
  10. Prüfen Sie, ob die Bereitstellung erfolgreich war.

    Nachdem der Befehl terraform apply ausgeführt wurde, sollte eine Erfolgsmeldung wie die folgende angezeigt werden (die tatsächliche Zahl hängt von den jeweiligen Bereitstellungsoptionen und der Version ab):

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

Nach dem Upgrade

Nach Abschluss des Upgrades müssen Sie je nach Status der vorherigen MDE-Bereitstellung einen oder mehrere der folgenden Schritte ausführen.

BigQuery-Ansichten für vorhandene Typen

Wenn Sie ein Upgrade von einer Version vor 1.4.x durchführen, wird für die erstellten Typen keine Analytics-Ansicht erstellt, da diese Funktion erst in Version 1.4.0 eingeführt wurde. Sie müssen die vorhandenen Typen noch einmal aktivieren, damit die Analyseansicht neu erstellt wird. Sie können den /activate-Endpunkt im Postman-Kit prüfen, das mit dem Release ausgeliefert wird.

Filestore-Treiber für GKE-Cluster

Wenn Sie ein Problem haben, bei dem die GKE-Cluster-Pods in ContainerCreating starten oder darin hängen bleiben, kann das daran liegen, dass der Filestore-Treiber nicht aktiviert ist. Sie können die Funktion aktivieren, indem Sie der Bereitstellungsanleitung folgen.