Guide de mise à niveau

Ce guide fournit des instructions générales sur la mise à niveau d'une installation Manufacturing Data Engine (MDE) existante à l'aide de Terraform.

Si vous avez modifié des scripts Terraform, vous devrez peut-être effectuer des étapes supplémentaires. Il s'agit d'un guide de mise à niveau générique. Veillez donc à lire également les notes de version complètes de la version spécifique que vous déployez, car elles peuvent contenir des informations à prendre en compte.

Avant de commencer

Certains jobs Dataflow doivent être arrêtés manuellement avant la mise à niveau. Les notes de version listent les jobs que vous devez arrêter manuellement pour la version spécifique vers laquelle vous effectuez la mise à niveau.

Ce guide requiert les prérequis suivants :

  1. Vous utilisez le package de déploiement par défaut.
  2. Votre environnement client dispose des outils CLI requis dans leur version la plus récente :

    Vous pouvez utiliser n'importe quel environnement client pour déployer MDE, mais vous pouvez gagner du temps en effectuant le déploiement à partir de Cloud Shell, car la plupart des outils requis y sont déjà installés.

    Activer Cloud Shell

  3. Vous disposez d'un accès complet au projet MDE Google Cloud et aux fichiers de configuration utilisés pour le déploiement d'origine :

    • Fichier de clé JSON du compte de service : mde-imgs-service-account-key.json.
    • Terraform : input.tfvars.
    • Terraform : backend.conf.

    Toutes les commandes gcloud de ce guide supposent que le projet par défaut est défini sur le projet de déploiement MDE. Vous pouvez définir le projet par défaut à l'aide de la commande suivante :

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet de déploiement MDE.

  4. Vous avez obtenu les identifiants du cluster MDE GKE. Si ce n'est pas déjà fait, exécutez la commande suivante :

    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
    

    Remplacez CLUSTER_NAME par le nom du cluster si vous avez modifié le nom par défaut (mde-gke). Modifiez KUBE_CONFIG_PATH si votre fichier kubeconfig ne se trouve pas sur le chemin d'accès par défaut.

Mettre à niveau

Cette section explique comment effectuer la mise à niveau à l'aide de Terraform.

  1. Mettez à jour les autorisations du compte de service Terraform pour ajouter les nouvelles autorisations requises à partir de MDE 1.4.0. Vous pouvez les ajouter à l'aide des commandes suivantes :

    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. Sauvegardez l'ancien dossier de déploiement à l'aide de la commande suivante :

    cp -r MDE_FOLDER MDE_FOLDER_BACKUP
    

    Remplacez MDE_FOLDER et MDE_FOLDER_BACKUP par le nom du dossier MDE et du dossier de sauvegarde.

  3. Téléchargez le dernier package de version de la solution MDE et extrayez-le :

    1. Téléchargez le package de solution.
    2. Extrayez le package dans votre environnement client.
    3. Accédez au nouveau dossier de version à l'aide de la commande cd.
  4. Si vous effectuez une mise à niveau vers la version 1.4.x, copiez les fichiers suivants de la sauvegarde vers le nouveau dossier à l'aide des commandes suivantes (les chemins d'accès aux fichiers peuvent varier) :

    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 .
    

    Si vous effectuez une mise à niveau vers la version 1.5.1, ne copiez que les fichiers suivants :

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

    Remplacez MDE_FOLDER_BACKUP par le nom du dossier de sauvegarde MDE.

  5. Si vous effectuez une mise à niveau de la version 1.4.x vers la version 1.5.x ou de la version 1.5.0 vers la version 1.5.1, exécutez le script de pré-mise à niveau inclus dans le package de version :

    # 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. Si vous passez à la version 1.5.2, vous devez changer de fournisseur Kubernetes pour utiliser le fichier kubeconfig local dans le fichier providers.tf avec la commande suivante :

    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. Rechargez l'état Terraform à l'aide de la commande suivante :

    terraform init -backend-config=backend.conf -reconfigure
    
  8. Créez un plan Terraform.

    Une fois les paramètres d'entrée prêts, vous devez créer un plan Terraform à l'aide de la commande suivante. Vous pouvez utiliser le plan pour vérifier les artefacts et les configurations qui seront créés dans le projet.

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

    Vous pouvez parcourir les modifications prévues à l'aide de la commande suivante :

    terraform show -no-color ./tfplan > tfplan.txt
    more tfplan.txt
    
  9. Appliquez le plan Terraform à l'aide de la commande suivante :

    terraform apply ./tfplan
    
  10. Vérifiez que le déploiement a réussi.

    Une fois la commande terraform apply exécutée, un message de confirmation semblable à celui-ci devrait s'afficher (le nombre réel dépendra des options de déploiement et de la version spécifiques) :

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

Après la migration

Une fois la mise à niveau terminée, vous devez effectuer une ou plusieurs des étapes suivantes en fonction de l'état du déploiement MDE précédent.

Vues BigQuery pour les types existants

Si vous effectuez une mise à niveau à partir d'une version antérieure à la version 1.4.x, aucune vue Analytics ne sera créée pour les types créés, car cette fonctionnalité a été introduite dans la version 1.4.0. Vous devrez réactiver les types existants pour déclencher la recréation de la vue Analytics. Vous pouvez vérifier le point de terminaison /activate dans le kit Postman fourni avec la version.

Pilote Filestore de cluster GKE

Si vous rencontrez un problème lié au démarrage ou au blocage des pods du cluster GKE dans l'état ContainerCreating, cela peut être dû au fait que le pilote Filestore n'est pas activé. Pour l'activer, suivez les étapes du guide de déploiement.