Halaman ini menjelaskan cara melakukan upgrade versi database minor untuk AlloyDB Omni di Kubernetes.
Untuk melakukan upgrade versi database minor, ada dua opsi:
Upgrade dengan waktu henti yang singkat: 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, dengan mempromosikan salah satu instance standby yang diupgrade menjadi instance primer baru Anda. Setelah pengalihan berhasil, instance utama lama Anda akan diperbarui.
Proses ini memastikan periode nonaktif minimal selama upgrade.
Upgrade serentak: Untuk semua keadaan lainnya, operator AlloyDB Omni mengupgrade semua instance secara serentak. Artinya, Anda akan mengalami waktu non-operasional selama upgrade.
Batasan
Untuk upgrade dengan periode nonaktif rendah, satu instance standby tidak tersedia pada waktu tertentu. Untuk memastikan bahwa cluster database Anda tidak mencapai Tujuan Titik Pemulihan (RPO) nol dan tidak berisiko kehilangan data, cluster database Anda harus memiliki satu instance utama dan setidaknya dua instance standby.
Sebelum Anda memulai
- Jika cluster Anda 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 database minor dengan waktu istirahat rendah
Untuk mengaktifkan proses upgrade versi database minor dengan waktu henti yang singkat, 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 Anda membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.
Mengupgrade versi AlloyDB Omni
Untuk mengupgrade versi 15.12.0, perbarui 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 Anda membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.
Memantau proses upgrade
Setelah Anda memperbarui 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 Anda 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 pada cluster database, periksa pesan dan atasi masalahnya dengan tepat.
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 Anda membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.
Setelah proses upgrade selesai, setel anotasi force-upgrade
ke
false
.
Kegagalan upgrade
Selama proses upgrade otomatis, ada beberapa titik yang dapat menyebabkan kegagalan di lingkungan HA. Untuk mengetahui informasi selengkapnya tentang setiap skenario kegagalan dan tindakan selanjutnya yang dilakukan oleh 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 dapat mengikuti instance utama untuk membuat replikasi sinkron.
Jumlah traffic yang tinggi masuk ke instance utama. Saat traffic
menurun, instance standby akan mengejar ketinggalan secara bertahap. Setelah ini
terjadi, kondisi |
Pilih opsi di Perbaiki instance utama dan standby dengan versi kecil 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. |
|
standby instance upgrade failed but rollback succeeded.
|
Instance standby Anda tidak berhasil diupgrade, tetapi operator AlloyDB Omni berhasil memulihkannya ke versi sebelumnya. |
|
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 Anda 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 melakukan downgrade instance, ikuti proses upgrade dan ubah kolom
databaseVersion
dancontrolPlaneAgentsVersion
dalam file manifes ke versi yang Anda gunakan sebelumnya.