Panduan upgrade

Panduan ini memberikan panduan umum tentang cara mengupgrade penginstalan Manufacturing Data Engine (MDE) yang ada menggunakan Terraform.

Jika Anda telah mengubah skrip Terraform, Anda mungkin memerlukan langkah-langkah tambahan. Ini adalah panduan upgrade umum, jadi pastikan Anda juga membaca catatan rilis lengkap untuk versi tertentu yang Anda deploy karena mungkin menyertakan informasi yang perlu Anda pertimbangkan.

Sebelum memulai

Beberapa tugas Dataflow perlu dihentikan secara manual sebelum diupgrade. Catatan rilis mencantumkan tugas yang harus Anda hentikan secara manual untuk versi tertentu yang Anda upgrade.

Panduan ini memerlukan prasyarat berikut:

  1. Anda menggunakan paket deployment default.
  2. Lingkungan klien Anda telah menginstal alat CLI yang diperlukan dalam versi terbarunya:

    Anda dapat menggunakan lingkungan klien apa pun untuk men-deploy MDE, tetapi Anda dapat menghemat waktu dengan men-deploy dari Cloud Shell karena sebagian besar alat yang diperlukan sudah terinstal.

    Aktifkan Cloud Shell

  3. Anda memiliki akses penuh ke project MDE Google Cloud dan akses ke file konfigurasi yang digunakan untuk deployment asli:

    • File kunci JSON Akun Layanan: mde-imgs-service-account-key.json.
    • Terraform: input.tfvars.
    • Terraform: backend.conf.

    Semua perintah gcloud dalam panduan ini mengasumsikan bahwa project default ditetapkan ke project deployment MDE. Anda dapat menetapkan project default menggunakan perintah berikut:

    gcloud config set project PROJECT_ID
    

    Ganti PROJECT_ID dengan project ID deployment MDE.

  4. Anda telah mendapatkan kredensial untuk cluster MDE GKE. Gunakan perintah berikut jika Anda belum melakukannya:

    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
    

    Ganti CLUSTER_NAME dengan nama cluster jika Anda mengubah nama default (mde-gke). Ubah KUBE_CONFIG_PATH jika kubeconfig Anda tidak berada di jalur default.

Upgrade

Bagian ini memberikan panduan tentang cara melakukan upgrade menggunakan Terraform.

  1. Perbarui izin akun layanan Terraform untuk menambahkan izin yang baru diperlukan dari MDE 1.4.0 dan yang lebih baru. Paket ini dapat ditambahkan dengan menggunakan perintah berikut:

    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. Cadangkan folder deployment lama menggunakan perintah berikut:

    cp -r MDE_FOLDER MDE_FOLDER_BACKUP
    

    Ganti MDE_FOLDER dan MDE_FOLDER_BACKUP dengan nama folder MDE dan folder cadangan.

  3. Download paket rilis solusi MDE terbaru dan ekstrak:

    Google Cloud
    1. Download paket solusi.
    2. Ekstrak paket ke lingkungan klien Anda.
    3. Pindah ke folder rilis baru menggunakan perintah cd.
  4. Jika Anda mengupgrade ke v1.4.x, salin file berikut dari cadangan ke folder baru menggunakan perintah berikut (jalur file mungkin berbeda):

    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 .
    

    Jika Anda mengupgrade ke v1.5.1, salin hanya file berikut:

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

    Ganti MDE_FOLDER_BACKUP dengan nama folder cadangan MDE.

  5. Jika Anda melakukan upgrade dari v.1.4.x ke v1.5.x atau dari v1.5.0 ke v1.5.1, jalankan skrip pra-upgrade yang disertakan dalam paket rilis:

    # 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. Jika mengupgrade ke 1.5.2, Anda harus mengalihkan penyedia Kubernetes untuk menggunakan kubeconfig lokal dalam file providers.tf dengan perintah berikut:

    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. Muat ulang status Terraform menggunakan perintah berikut:

    terraform init -backend-config=backend.conf -reconfigure
    
  8. Buat rencana Terraform.

    Setelah parameter input siap, Anda harus membuat rencana Terraform menggunakan perintah berikut. Anda dapat menggunakan rencana untuk memverifikasi artefak dan konfigurasi yang akan dibuat dalam project.

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

    Anda dapat menjelajahi perubahan yang direncanakan menggunakan perintah ini:

    terraform show -no-color ./tfplan > tfplan.txt
    more tfplan.txt
    
  9. Terapkan rencana Terraform menggunakan perintah berikut:

    terraform apply ./tfplan
    
  10. Pastikan deployment berhasil.

    Setelah perintah terraform apply selesai dieksekusi, Anda akan melihat pesan keberhasilan yang terlihat mirip dengan berikut (angka sebenarnya akan bergantung pada opsi dan versi deployment tertentu):

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

Setelah Upgrade

Setelah upgrade selesai, Anda harus melakukan satu atau beberapa langkah berikut, bergantung pada status deployment MDE sebelumnya.

Tampilan BigQuery untuk jenis yang ada

Jika Anda mengupgrade dari rilis sebelum 1.4.x, jenis yang dibuat tidak akan memiliki tampilan analisis yang dibuat untuknya karena fitur ini diperkenalkan di 1.4.0. Anda harus mengaktifkan kembali jenis yang ada untuk memicu pembuatan ulang tampilan Analytics. Anda dapat memeriksa endpoint /activate di kit Postman yang disertakan dalam rilis.

Driver filestore cluster GKE

Jika Anda mengalami masalah saat pod cluster GKE dimulai atau macet di ContainerCreating, hal ini dapat disebabkan oleh driver filestore yang tidak diaktifkan. Anda dapat mengaktifkannya dengan mengikuti langkah-langkah dalam panduan deployment