Tujuan konfigurasi ketersediaan tinggi adalah untuk mengurangi periode nonaktif saat instance cluster database menjadi tidak tersedia. Hal ini dapat terjadi saat instance kehabisan memori. Dengan ketersediaan tinggi, data Anda akan tetap tersedia untuk aplikasi klien.
Dalam situs, konfigurasi terdiri dari instance utama dan replika standby. Semua penulisan yang dibuat ke instance utama direplikasi ke replika standby sebelum transaksi dilaporkan sudah di-commit. Jika instance utama Anda tidak tersedia, GDC akan otomatis mempromosikan replika standby untuk bertindak sebagai instance utama baru. Traffic aplikasi kemudian dialihkan ke instance utama baru. Proses ini disebut failover.
Failover otomatis dimulai setelah 3 kegagalan health check berturut-turut pada instance utama, yang masing-masing berjarak 30 detik.
GDC mendukung failover otomatis dan manual. Failover otomatis diaktifkan secara default, dan Anda dapat menonaktifkan failover otomatis jika diperlukan. Anda juga dapat memicu failover secara manual kapan saja untuk memulihkan dari kegagalan yang tidak terduga dan meminimalkan periode nonaktif.
Failover melibatkan proses berikut, secara berurutan:
GDC membuat instance utama offline.
GDC mengubah replika standby menjadi cluster database aktif yang baru.
GDC akan menghapus cluster database aktif sebelumnya.
GDC membuat replika standby baru.
Mengupdate cluster yang ada
Anda dapat memperbarui setelan ketersediaan tinggi untuk cluster database yang ada:
Konsol
Di menu navigasi, pilih Database Service.
Dari daftar cluster database, klik cluster database yang akan diupdate.
Pilih edit Edit di bagian ketersediaan tinggi.

Pilih Enable same zone standby untuk mengaktifkan atau menonaktifkan ketersediaan instance standby di zona yang sama dengan cluster database utama Anda.
Klik Simpan.
Pastikan cluster database Anda mencerminkan update ketersediaan tinggi dengan melihat statusnya di kolom High availability pada daftar cluster database.
gdcloud
Perbarui konfigurasi ketersediaan tinggi cluster database Anda:
gdcloud database clusters update CLUSTER_NAME \ --availability-type HA_TYPEGanti kode berikut:
CLUSTER_NAME: nama cluster database.HA_TYPE: tingkat ketersediaan tinggi untuk cluster database. Anda dapat menetapkanzonalatauzonal_ha. Nilaizonalditetapkan secara default.
Pastikan cluster database Anda mencerminkan update ketersediaan tinggi:
gdcloud database clusters list
API
Perbarui konfigurasi ketersediaan tinggi cluster database Anda:
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \ --type=mergeGanti variabel berikut:
DBCLUSTER_NAME: nama cluster database.USER_PROJECT: nama project pengguna tempat cluster database dibuat.HA_ENABLED: tingkat ketersediaan tinggi untuk cluster database. Anda dapat menetapkantrueataufalse. Nilaifalseditetapkan secara default.
Pastikan cluster database Anda mencerminkan update ketersediaan tinggi:
kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -o yaml
Bermigrasi ke implementasi ketersediaan tinggi terbaru
Untuk memverifikasi bahwa cluster database ketersediaan tinggi Anda menggunakan implementasi terbaru, periksa apakah anotasi dbcluster.dbadmin.goog/raasEnabled ada di CR cluster database ketersediaan tinggi Anda. Anotasi ini hanya akan muncul di cluster yang menggunakan implementasi baru. Jika tidak memiliki anotasi ini, Anda dapat mengaktifkannya dan memigrasikan cluster dengan langkah-langkah berikut:
- Tanyakan kepada Operator Infrastruktur Anda apakah lingkungan GDC Anda telah diupgrade ke versi 1.15.1 atau yang lebih baru.
- Nonaktifkan ketersediaan tinggi di cluster database Anda. Tunggu hingga kondisi
HAReadyhilang, lalu aktifkan kembali ketersediaan tinggi. - Setelah Anda melihat
HAReady in progressatauHAReady setup complete, periksa CR cluster database Anda untuk anotasidbcluster.dbadmin.goog/raasEnabled. Jika muncul, berarti cluster database Anda telah berhasil dimigrasikan.
Memicu failover
Jika telah mengonfigurasi ketersediaan tinggi untuk cluster database, Anda dapat memicu failover. Untuk memicu failover, selesaikan langkah-langkah berikut:
Konsol
Di menu navigasi, pilih Database Service.
Dari daftar cluster database, klik cluster database untuk memicu failover. Cluster database Anda harus mengaktifkan ketersediaan tinggi agar memenuhi syarat untuk failover.
Klik Failover.
Ketik ID cluster untuk frasa konfirmasi, lalu klik Failover untuk memicu proses failover.
gdcloud
Picu failover untuk cluster database:
gdcloud database clusters failover CLUSTER_NAME
Ganti CLUSTER_NAME dengan nama cluster database.
API
apiVersion: fleet.dbadmin.gdc.goog/v1
kind: Failover
metadata:
name: FAILOVER_NAME
namespace: USER_PROJECT
spec:
dbclusterRef: DBCLUSTER_NAME
Ganti variabel berikut:
DBCLUSTER_NAME, nama cluster database.USER_PROJECT: nama project pengguna tempat cluster database dibuat.FAILOVER_NAME, nama unik failover, misalnyafailover-sample.
Menonaktifkan failover otomatis
Failover otomatis diaktifkan secara default di cluster database dengan ketersediaan tinggi.
Untuk menonaktifkan failover otomatis, tetapkan enableAutoFailover ke false dalam manifes cluster database:
spec:
availability:
enableAutoFailover: false
Untuk memperbarui konfigurasi failover otomatis untuk cluster database yang ada menggunakan API, jalankan perintah berikut:
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME \
-n USER_PROJECT \
-p '{"spec": {"availability": {"enableAutoFailover": AUTO_FAILOVER_ENABLED}}}' \
--type=merge
Ganti variabel berikut:
DBCLUSTER_NAME: nama cluster database.USER_PROJECT: nama project pengguna tempat cluster database dibuat.AUTO_FAILOVER_ENABLED: setelan failover otomatis untuk cluster database. Anda dapat menetapkantrueataufalse. Nilaitrueditetapkan secara default.