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 :
- Vous utilisez le package de déploiement par défaut.
Votre environnement client dispose des outils CLI requis dans leur version la plus récente :
Google Cloud CLI avec les composants supplémentaires suivants installés :
- kubectl
- cbt
- CLI Terraform (1.9.x ou version ultérieure)
- Helm CLI (3.9.x ou version ultérieure)
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.
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
gcloudde 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_IDRemplacez PROJECT_ID par l'ID du projet de déploiement MDE.
- Fichier de clé JSON du compte de service :
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-endpointRemplacez CLUSTER_NAME par le nom du cluster si vous avez modifié le nom par défaut (
mde-gke). ModifiezKUBE_CONFIG_PATHsi 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.
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'Sauvegardez l'ancien dossier de déploiement à l'aide de la commande suivante :
cp -r MDE_FOLDER MDE_FOLDER_BACKUPRemplacez MDE_FOLDER et MDE_FOLDER_BACKUP par le nom du dossier MDE et du dossier de sauvegarde.
Téléchargez le dernier package de version de la solution MDE et extrayez-le :
- Téléchargez le package de solution.
- Extrayez le package dans votre environnement client.
- Accédez au nouveau dossier de version à l'aide de la commande
cd.
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.
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/terraformSi vous passez à la version 1.5.2, vous devez changer de fournisseur Kubernetes pour utiliser le fichier kubeconfig local dans le fichier
providers.tfavec 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 } }Rechargez l'état Terraform à l'aide de la commande suivante :
terraform init -backend-config=backend.conf -reconfigureCré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=./tfplanVous pouvez parcourir les modifications prévues à l'aide de la commande suivante :
terraform show -no-color ./tfplan > tfplan.txt more tfplan.txtAppliquez le plan Terraform à l'aide de la commande suivante :
terraform apply ./tfplanVérifiez que le déploiement a réussi.
Une fois la commande
terraform applyexé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.