Sebelum memulai
Saat Anda mengupgrade operator AlloyDB Omni, database akan dimulai ulang kecuali jika semua hal berikut benar:
- Anda mengupgrade operator AlloyDB Omni versi 1.1.1 ke versi yang lebih baru.
- Anda menggunakan database AlloyDB Omni versi 15.5.5 atau yang lebih baru.
- AI AlloyDB tidak diaktifkan.
Jika database dimulai ulang, tidak akan ada kehilangan data.
Mulai dari database AlloyDB Omni versi 15.7.1, ketersediaan tinggi (HA) di cluster database AlloyDB Omni berbasis Kubernetes menggunakan arsitektur baru untuk memberikan penguatan dan peningkatan yang lebih baik untuk kemampuan penyiapan, failover, dan pemulihan otomatis HA.
Jika Anda mengupgrade versi database AlloyDB Omni dari 15.7.0 (atau yang lebih lama) ke versi 15.7.1 (atau yang lebih baru), atau jika Anda mendowngrade versi, Anda harus menonaktifkan HA, dan Anda harus mengaktifkan kembali HA setelah proses selesai.
Menentukan versi Anda saat ini
Untuk memeriksa versi AlloyDB Omni yang digunakan oleh cluster database Anda, jalankan perintah berikut:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'
Lakukan penggantian berikut:
DB_CLUSTER_NAME
: nama cluster database Anda. Nama cluster database ini sama dengan nama cluster database yang Anda deklarasikan saat membuatnya. Untuk informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.NAMESPACE
: namespace Kubernetes cluster database Anda.
Jika Anda menjalankan operator AlloyDB Omni versi 1.0.0 atau yang lebih baru, perintah ini akan mencetak versi AlloyDB Omni yang digunakan oleh cluster database Anda.
Untuk memeriksa versi operator AlloyDB Omni yang diinstal di cluster Kubernetes Anda, jalankan perintah berikut:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'
Jika Anda menjalankan operator AlloyDB Omni versi 1.0.0 atau yang lebih baru, outputnya adalah nomor versi operator AlloyDB Omni yang berjalan di cluster Kubernetes Anda.
Jika Anda menjalankan operator AlloyDB Omni versi lebih lama dari 1.0.0, ikuti petunjuk di Mengupgrade dari operator AlloyDB Omni versi sebelum 1.0.0. Jika tidak, lanjutkan dengan Periksa nomor versi target Anda.
Periksa nomor versi target Anda
Jika Anda menjalankan operator AlloyDB Omni versi 1.0.0 atau yang lebih baru, langkah selanjutnya bergantung pada versi AlloyDB Omni yang ingin Anda upgrade. Nomor versi AlloyDB Omni memiliki komponen berikut:
- Nomor versi utama kompatibilitas PostgreSQL-nya
- Nomor versi minor kompatibilitas PostgreSQL-nya
- Nomor versi patch rilis AlloyDB Omni ini
Misalnya, AlloyDB Omni versi 15.7.1 mendukung PostgreSQL versi 15.7 dan tidak memiliki patch rilis AlloyDB Omni.
Pilih opsi penginstalan yang sesuai untuk versi target Anda:
Skenario penginstalan | Langkah-langkah update |
---|---|
Anda ingin mengupgrade ke versi AlloyDB Omni yang mendukung PostgreSQL versi yang lebih baru. | Upgrade operator AlloyDB Omni dan cluster database Anda. Setiap set rilis AlloyDB Omni yang mendukung versi minor PostgreSQL tertentu memiliki nomor versi operator AlloyDB Omni sendiri. Gunakan tabel kompatibilitas versi operator AlloyDB Omni untuk memverifikasi bahwa versi operator AlloyDB Omni Anda kompatibel dengan versi operator Anda. |
Anda hanya ingin mengupgrade ke versi patch AlloyDB Omni yang lebih baru. | Upgrade hanya cluster database Anda. |
Semua skenario lainnya | Ikuti langkah-langkah di mengupgrade operator AlloyDB Omni. |
Mengupgrade operator AlloyDB Omni
Untuk mengupgrade operator AlloyDB Omni, ikuti langkah-langkah berikut:
Tentukan variabel lingkungan:
export GCS_BUCKET=alloydb-omni-operator
export OPERATOR_VERSION=OPERATOR_VERSION
export HELM_PATH=$OPERATOR_VERSION/alloydbomni-operator-$OPERATOR_VERSION.tgz
Ganti
OPERATOR_VERSION
dengan versi operator AlloyDB Omni yang akan Anda upgrade—misalnya,1.4.0
.Download operator AlloyDB Omni terbaru:
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
Terapkan definisi resource kustom operator AlloyDB Omni terbaru:
kubectl apply -f alloydbomni-operator/crds
Upgrade diagram Helm operator AlloyDB Omni:
helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
Memperbarui cluster database
Untuk mengupdate dbCluster
, selesaikan langkah-langkah berikut:
Jika Anda mengupgrade cluster database AlloyDB Omni HA dari versi database 15.7.0 (atau yang lebih lama) ke versi 15.7.1 (atau yang lebih baru), ikuti langkah-langkah berikut untuk menonaktifkan HA.
- Setel
numberOfStandbys
ke0
dalam manifes cluster.
spec: availability: numberOfStandbys: 0
- Untuk menonaktifkan HA, terapkan kembali manifes.
- Setel
Perbarui versi
databaseVersion
dancontrolPlaneAgentsVersion
dalam manifes cluster, lalu terapkan kembali manifes.Berikut adalah bagian dari file manifes yang menentukan
databaseVersion
versi 15.7.1 dancontrolPlaneAgentsVersion
versi 1.4.0:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.7.1" controlPlaneAgentsVersion: "1.4.0" ...
Ganti variabel berikut:
DB_CLUSTER_NAME
: nama cluster database Anda. Nama cluster database yang sama dengan yang Anda deklarasikan saat membuatnya. Untuk mengetahui informasi selengkapnya, lihat Menginstal AlloyDB Omni di Kubernetes.
Tunggu hingga upgrade selesai.
Jika Anda menonaktifkan HA sebelum upgrade, selesaikan langkah-langkah berikut.
Setel
numberOfStandbys
kembali ke angka sebelum upgrade di manifes cluster.Terapkan kembali manifes untuk mengaktifkan kembali HA.
Update alloydb_omni_instance_postgresql_wait_time_second_total
Jika Anda menggunakan metrik alloydb_omni_instance_postgresql_wait_time_second_total
, Anda harus mengupdatenya ke alloydb_omni_instance_postgresql_wait_time_us_total
. Untuk menggunakan kedua metrik,
gunakan operator OR
Prometheus.
(promQL A) OR (promQL A, but replace all occurrences of alloydb_omni_instance_postgresql_wait_time_second_total to alloydb_omni_instance_postgresql_wait_time_us_total)
Jika Anda menggunakan seconds
sebagai unit untuk metrik ini, Anda harus mengonversinya
ke us
.
Untuk mengetahui informasi selengkapnya, lihat catatan rilis.