Melakukan upgrade versi database minor untuk AlloyDB Omni di Kubernetes

Pilih versi dokumentasi:

Halaman ini menjelaskan cara melakukan upgrade versi minor database untuk AlloyDB Omni di Kubernetes.

Untuk melakukan upgrade versi minor database, ada dua opsi:

  • Upgrade dengan waktu nonaktif rendah: Fitur ini berada dalam Pratinjau. Untuk lingkungan ketersediaan tinggi (HA) yang menjalankan AlloyDB Omni versi 15.7.1 atau yang lebih baru, AlloyDB Omni akan mengupgrade instance standby Anda terlebih dahulu. Kemudian, operator AlloyDB Omni melakukan pengalihan, mempromosikan salah satu instance standby yang diupgrade untuk menjadi instance utama baru Anda. Setelah pengalihan berhasil, instance utama lama Anda akan diupdate.

    Proses ini memastikan waktu nonaktif minimal selama upgrade.

  • Upgrade serentak: Metode upgrade serentak tersedia secara umum (GA). Untuk semua situasi lainnya, operator AlloyDB Omni mengupgrade semua instance secara serentak. Artinya, Anda akan mengalami waktu nonaktif selama upgrade.

Batasan

Untuk upgrade dengan waktu nonaktif rendah, satu instance standby tidak tersedia kapan saja. Untuk memastikan cluster database Anda tidak mencapai nol Recovery Point Objective (RPO) dan tidak berisiko kehilangan data, cluster database Anda harus memiliki satu instance utama dan minimal dua instance standby.

Sebelum memulai

  • Jika cluster Anda adalah HA dan versi AlloyDB Omni lebih lama dari 15.7.1, ikuti langkah-langkah yang tercantum di Mengupdate cluster database sebelum mengikuti proses upgrade versi minor ini.
  • Identifikasi periode traffic rendah tempat Anda dapat melakukan upgrade versi minor.
  • Untuk menghindari kehilangan data, cadangkan data Anda.

Mengaktifkan proses upgrade versi minor database dengan waktu nonaktif rendah

Untuk mengaktifkan proses upgrade versi minor database dengan waktu nonaktif rendah, tambahkan anotasi berikut ke cluster database Anda.

kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME
dbcluster.dbadmin.goog/enableLDTM=true

Ganti variabel berikut:

  • DB_CLUSTER_NAME: nama cluster database Anda. Nama cluster database ini sama dengan yang Anda berikan saat membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.

Mengupgrade versi AlloyDB Omni

Untuk mengupgrade versi 15.12.0, update kolom databaseVersion dan controlPlaneAgentsVersion dalam file manifes cluster, lalu terapkan kembali file tersebut.

Berikut adalah awal file manifes yang menentukan versi 15.12.0 untuk databaseVersion dan versi 1.5.0 untuk controlPlaneAgentsVersion:

apiVersion: alloydbomni.dbadmin.goog/v1
kind: DBCluster
metadata:
    name: DB_CLUSTER_NAME
spec:
    databaseVersion: "15.12.0"
    controlPlaneAgentsVersion: "1.5.0"
...

Ganti variabel berikut:

  • DB_CLUSTER_NAME: nama cluster database Anda. Nama cluster database ini sama dengan yang Anda berikan saat membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.

Memantau proses upgrade

Setelah Anda mengupdate file manifes, operator AlloyDB Omni akan memulai proses upgrade. Untuk memantau proses upgrade, periksa kondisi DBCUpgradeInProgress.

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -o yaml | yq '.status.conditions[] | select(.type == "DBCUpgradeInProgress")'

Ganti variabel berikut:

  • DB_CLUSTER_NAME: nama cluster database Anda. Nama cluster database ini sama dengan yang Anda berikan saat membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.

Saat proses sedang berlangsung, statusnya adalah true. Setelah proses selesai, status kondisi akan berubah menjadi false.

Pemecahan masalah

Jika Anda menerima pesan kegagalan selama proses upgrade, lihat bagian berikut:

Kegagalan pra-upgrade

Jika Anda menerima kegagalan pra-upgrade di cluster database, periksa pesan dan atasi masalahnya.

Jika Anda ingin melewati pesan kegagalan pra-upgrade, Anda dapat mengaktifkan anotasi force-upgrade.

kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME upgrade.alloydbomni.dbadmin.google/force-upgrade=true

Ganti variabel berikut:

  • DB_CLUSTER_NAME: nama cluster database Anda. Nama cluster database ini sama dengan yang Anda berikan saat membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.

Setelah proses upgrade selesai, tetapkan anotasi force-upgrade ke false.

Kegagalan upgrade

Selama proses upgrade otomatis, ada beberapa titik yang mungkin gagal di lingkungan HA. Untuk mengetahui informasi selengkapnya tentang setiap skenario kegagalan dan tindakan berikutnya yang dilakukan operator AlloyDB Omni, lihat tabel berikut.

Pesan kegagalan Deskripsi Tindakan pengguna yang diperlukan
standby instance upgrade succeeded but the replication lag of the standby(s) is too high to be promoted to synchronous standby(s)

Proses upgrade berhasil, tetapi instance standby tidak mengikuti instance utama untuk membuat replikasi sinkron.

Traffic yang tinggi masuk ke instance utama. Saat traffic menurun, instance standby akan mengikuti secara bertahap. Setelah hal ini terjadi, kondisi HAReady akan menjadi true.

Pilih opsi di Memperbaiki instance utama dan standby dengan versi minor yang berbeda .

all standbys upgrade succeeded but the switchover instance failed to promote an upgraded standby.

Instance standby Anda berhasil diupgrade, tetapi proses pengalihan gagal.

  1. Periksa status resource kustom pengalihan untuk menentukan penyebab kegagalan.
  2. Pilih opsi di Memperbaiki instance utama dan standby dengan versi minor yang berbeda .
standby instance upgrade failed but rollback succeeded.

Instance standby Anda tidak berhasil diupgrade, tetapi operator AlloyDB Omni berhasil memulihkannya ke versi sebelumnya.

  1. Periksa pesan kegagalan upgrade.
  2. Pilih opsi di Memperbaiki instance utama dan standby dengan versi minor yang berbeda .
standby instance upgrade failed and rollback failed.

Instance standby Anda tidak berhasil diupgrade dan operator AlloyDB Omni tidak dapat memulihkan instance ke versi sebelumnya.

Hubungi dukungan Google untuk memecahkan masalah.

Memperbaiki instance utama dan standby dengan versi minor yang berbeda

Untuk mengatasi masalah ini, pilih salah satu opsi berikut:

  • Jika masalah yang menyebabkan kegagalan upgrade telah diperbaiki, coba lagi upgrade.

    Untuk mencoba lagi upgrade, hapus anotasi start-time upgrade dari instance Anda. Setelah Anda menghapus anotasi, operator AlloyDB Omni akan membuat waktu mulai baru dan memulai ulang proses upgrade.

    kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME upgrade.alloydbomni.dbadmin.google/start-time-
    

    Ganti variabel berikut:

    • DB_CLUSTER_NAME: nama cluster database Anda. Nama cluster database ini sama dengan yang Anda berikan saat membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.
  • Jika masalah yang menyebabkan kegagalan upgrade berlanjut, downgrade instance Anda ke versi operator AlloyDB Omni sebelumnya.

    Untuk mendowngrade instance, ikuti proses upgrade dan ubah kolom databaseVersion dan controlPlaneAgentsVersion dalam file manifes ke versi yang Anda gunakan sebelumnya.