Halaman ini menjelaskan cara mengupgrade operator AlloyDB Omni. Langkah-langkah untuk mengupgrade AlloyDB Omni di Kubernetes bergantung pada versi AlloyDB Omni saat ini dan versi yang Anda upgrade.
Sebelum memulai
Saat Anda mengupgrade operator AlloyDB Omni, database akan dimulai ulang kecuali jika semua hal berikut terpenuhi:
- 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, kemungkinan tidak akan ada kehilangan data.
Mulai database AlloyDB Omni versi 15.7.1, ketersediaan tinggi (HA) di cluster database AlloyDB Omni berbasis Kubernetes Anda menggunakan arsitektur baru untuk memberikan lebih banyak hardening dan peningkatan untuk kemampuan penyiapan otomatis, failover, dan pemulihan 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 sebelum mengupgrade, dan Anda harus mengaktifkan kembali HA setelah upgrade selesai.
Menentukan versi 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. Ini adalah nama cluster database yang sama dengan yang Anda deklarasikan saat membuatnya.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, 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 versi operator AlloyDB Omni yang lebih lama dari 1.0.0, ikuti petunjuk di Mengupgrade dari operator AlloyDB Omni pra-1.0.0. Jika tidak, lanjutkan dengan Memeriksa nomor versi target.
Memeriksa nomor versi target
Jika Anda menjalankan operator AlloyDB Omni versi 1.0.0 atau yang lebih baru, langkah berikutnya akan 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 | Memperbarui langkah |
---|---|
Anda ingin mengupgrade ke versi AlloyDB Omni yang mendukung PostgreSQL versi yang lebih baru. | Upgrade operator AlloyDB Omni dan cluster database Anda. Setiap kumpulan rilis AlloyDB Omni yang mendukung versi minor PostgreSQL tertentu memiliki nomor versi operator AlloyDB Omni-nya sendiri, yang dapat Anda temukan di catatan rilis untuk versi AlloyDB Omni. 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. Periksa tabel kompatibilitas versi operator AlloyDB Omni dan catatan rilis sebelum mengupgrade untuk menentukan apakah Anda juga perlu mengupdate operator AlloyDB Omni. |
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 Anda upgrade—misalnya,1.4.0
.Download operator AlloyDB Omni terbaru:
gsutil cp -r gs://$GCS_BUCKET/$HELM_PATH ./
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 memperbarui dbCluster
, ikuti langkah-langkah berikut:
Jika Anda mengupgrade cluster database AlloyDB Omni HA dari database versi 15.7.0 (atau yang lebih lama) ke versi 15.7.1 (atau yang lebih baru), tetapkan
numberOfStandbys
ke0
dalam manifes cluster dan terapkan kembali manifes untuk menonaktifkan HA:spec: availability: numberOfStandbys: 0
Anda tidak perlu menonaktifkan HA jika mengupgrade dari versi lama ke versi 15.7.0 (atau yang lebih lama), atau dari versi 15.7.1 (atau yang lebih baru) ke versi yang lebih baru.
Perbarui versi
databaseVersion
dancontrolPlaneAgentsVersion
di manifes cluster, lalu terapkan kembali manifes.Berikut adalah bagian dari file manifes yang menentukan versi
databaseVersion
15.7.1 dan versicontrolPlaneAgentsVersion
1.4.0:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.7.1" controlPlaneAgentsVersion: "1.4.0" ...
Tunggu hingga upgrade berhasil diselesaikan.
Jika menonaktifkan HA sebelum upgrade, Anda dapat menetapkan
numberOfStandbys
kembali ke angka sebelum upgrade di manifes cluster dan menerapkan ulang manifes untuk mengaktifkan kembali HA.
Update alloydb_omni_instance_postgresql_wait_time_second_total
Jika 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 menggunakan seconds
sebagai unit untuk metrik ini, Anda harus mengonversinya
ke us
.
Untuk informasi selengkapnya, lihat catatan rilis.