Guía de actualización
En esta guía, se proporciona orientación general para actualizar una instalación existente de Manufacturing Data Engine (MDE) con Terraform.
Si modificaste las secuencias de comandos de Terraform, es posible que necesites pasos adicionales. Esta es una guía de actualización genérica, por lo que siempre debes asegurarte de leer las notas de la versión completas de la versión específica que implementas, ya que pueden incluir información que debes tener en cuenta.
Antes de comenzar
Algunos trabajos de Dataflow deben detenerse manualmente antes de la actualización. En las notas de la versión, se enumeran los trabajos que debes detener de forma manual para la versión específica a la que deseas actualizar.
Esta guía requiere los siguientes requisitos previos:
- Estás usando el paquete de implementación predeterminado.
Tu entorno de cliente tiene instaladas las herramientas de CLI necesarias en su versión más actualizada:
Google Cloud CLI con los siguientes componentes adicionales instalados:
- kubectl
- cbt
- CLI de Terraform (1.9.x o posterior)
- CLI de Helm (3.9.x o posterior)
Puedes usar cualquier entorno de cliente para implementar MDE, pero puedes ahorrar tiempo si lo implementas desde Cloud Shell, ya que tiene la mayoría de las herramientas necesarias ya instaladas.
Tienes acceso completo al proyecto de MDE Google Cloud y a los archivos de configuración que se usaron para la implementación original:
- Archivo de claves JSON de la cuenta de servicio:
mde-imgs-service-account-key.json. - Terraform:
input.tfvars. - Terraform:
backend.conf.
Todos los comandos de
gcloudde esta guía suponen que el proyecto predeterminado está configurado como el proyecto de implementación del MDE. Puedes configurar el proyecto predeterminado con el siguiente comando:gcloud config set project PROJECT_IDReemplaza PROJECT_ID por el ID del proyecto de implementación del MDE.
- Archivo de claves JSON de la cuenta de servicio:
Obtuviste las credenciales para el clúster de GKE de MDE. Usa el siguiente comando si aún no lo hiciste:
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-endpointReemplaza CLUSTER_NAME por el nombre del clúster si cambiaste el nombre predeterminado (
mde-gke). CambiaKUBE_CONFIG_PATHsi tu kubeconfig no está en la ruta de acceso predeterminada.
Actualizar
En esta sección, se proporciona orientación para realizar la actualización con Terraform.
Actualiza los permisos de la cuenta de servicio de Terraform para agregar los permisos recién requeridos de MDE 1.4.0 y versiones posteriores. Se pueden agregar con los siguientes 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'Crea una copia de seguridad de la carpeta de implementación anterior con el siguiente comando:
cp -r MDE_FOLDER MDE_FOLDER_BACKUPReemplaza MDE_FOLDER y MDE_FOLDER_BACKUP por el nombre de la carpeta del MDE y la carpeta de copia de seguridad.
Descarga el paquete de lanzamiento de la solución de MDE más reciente y extráelo:
- Descarga el paquete de la solución.
- Extrae el paquete a tu entorno de cliente.
- Muévete a la nueva carpeta de la versión con el comando
cd.
Si actualizas a la versión 1.4.x, copia los siguientes archivos de la copia de seguridad a la carpeta nueva con los siguientes comandos (las rutas de acceso a los archivos pueden variar):
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 actualizas a la versión 1.5.1, copia solo los siguientes archivos:
cd deployment/terraform cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/input.tfvars . cp ../../../MDE_FOLDER_BACKUP/deployment/terraform/backend.conf .Reemplaza MDE_FOLDER_BACKUP por el nombre de la carpeta de copias de seguridad del MDE.
Si actualizas de la versión 1.4.x a la 1.5.x o de la 1.5.0 a la 1.5.1, ejecuta la secuencia de comandos previa a la actualización incluida en el paquete de lanzamiento:
# 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 actualizas a la versión 1.5.2, debes cambiar los proveedores de Kubernetes para que usen el kubeconfig local en el archivo
providers.tfcon el siguiente 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 } }Vuelve a cargar el estado de Terraform con el siguiente comando:
terraform init -backend-config=backend.conf -reconfigureCrea un plan de Terraform.
Una vez que los parámetros de entrada estén listos, debes crear un plan de Terraform con el siguiente comando. Puedes usar el plan para verificar qué artefactos y configuraciones se crearán en el proyecto.
terraform plan -var-file=./input.tfvars -out=./tfplanPuedes explorar los cambios planificados con este comando:
terraform show -no-color ./tfplan > tfplan.txt more tfplan.txtAplica el plan de Terraform con el siguiente comando:
terraform apply ./tfplanVerifica que la implementación se haya realizado correctamente.
Después de que finalice la ejecución del comando
terraform apply, deberías ver un mensaje de éxito similar al siguiente (la cantidad real dependerá de las opciones y la versión de implementación específicas):Apply complete! Resources: 1 added, 34 changed, 0 destroyed.
Después de la actualización
Una vez que se complete la actualización, deberás realizar uno o más de los siguientes pasos según el estado de la implementación anterior del MDE.
Vistas de BigQuery para tipos existentes
Si actualizas desde una versión anterior a la 1.4.x, los tipos creados no tendrán una vista de Analytics creada para ellos, ya que esta función se introdujo en la versión 1.4.0.
Deberás volver a activar los tipos existentes para que se vuelva a crear la vista de Analytics. Puedes verificar el extremo /activate en el kit de Postman que se incluye en la versión.
Controlador de Filestore del clúster de GKE
Si tienes un problema con el inicio de los pods del clúster de GKE o se quedan atascados en ContainerCreating, es posible que el controlador de Filestore no esté habilitado. Para habilitarlo, sigue los pasos que se indican en la guía de implementación.