Anda dapat menentukan konfigurasi instance kumpulan baca di file manifes instance database. Setiap instance read pool memerlukan pembuatan file manifes yang unik. Anda dapat membuat hingga 20 instance read pool.
Setiap instance pool baca menempati jumlah penyimpanan yang sama dengan instance yang direplikasinya.
Membuat instance read pool asinkron
Anda dapat membuat sejumlah instance read pool dalam cluster database Anda. Untuk membuat instance pool baca asinkron AlloyDB Omni, selesaikan langkah-langkah berikut:
Buat manifes instance database untuk menentukan jenis instance read pool:
apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBInstance metadata: name: READ_POOL_INSTANCE_NAME namespace: NAMESPACE spec: instanceType: ReadPool nodeCount: READ_POOL_INSTANCE_SIZE dbcParent: name: DB_CLUSTER_NAMEGanti kode berikut:
READ_POOL_INSTANCE_NAME: nama untuk resource ini—misalnya,read-pool-instance-1.NAMESPACE: namespace cluster database.DB_CLUSTER_NAME: nama cluster database tempat instance berada.READ_POOL_INSTANCE_SIZE: jumlah node dalam instance pool baca. Tindakan ini menentukan kapasitas komputasi keseluruhan instance. Anda dapat memiliki maksimal 20 node per instance pool baca.
Terapkan manifes.
Memverifikasi status instance
Untuk memverifikasi ketersediaan instance pool baca, jalankan perintah berikut:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Available")].status}'Respons true menunjukkan bahwa instance kumpulan baca dapat melayani kueri, tetapi mungkin tidak mereplikasi data dari instance database Anda.
Untuk memverifikasi status streaming instance pool baca, jalankan perintah berikut:
kubectl get dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME -o jsonpath='{.status.conditions[?(@.type=="Streaming")].status}'Respons true menunjukkan bahwa instance kumpulan baca terhubung ke instance database Anda dan secara aktif melakukan streaming perubahan.
Saat instance database Anda tidak dapat dijangkau, instance kumpulan baca akan terus
melayani kueri. Dalam hal ini, status ketersediaan akan menjadi true, sedangkan status streaming akan menjadi false.
Setelah Anda menyiapkan instance kumpulan baca, semua penyisipan, pembaruan, dan penghapusan baris di instance Anda dapat dibaca di instance kumpulan baca Anda.
Batasan: menangani switchover dan failover
Jika instance database utama Anda mengalami pengalihan atau failover, instance kumpulan baca tidak otomatis disinkronkan ke instance utama baru, dan instance tersebut berhenti mereplikasi data. Untuk melanjutkan replikasi data, turunkan skala pool baca menjadi nol, lalu naikkan kembali skala ke jumlah node yang dipilih.
Mencatat jumlah node saat ini di kumpulan baca:
NODE_COUNT=$(kubectl get dbinstance -n NAMESPACE \ READ_POOL_INSTANCE_NAME -ojsonpath="{.spec.nodeCount}")Ganti kode berikut:
NAMESPACE: namespace cluster database.READ_POOL_INSTANCE_NAME: nama instance pool baca.
Skalakan kumpulan baca ke nol:
kubectl patch dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME \ --type=merge -p '{"spec":{"nodeCount":0}}'Menskalakan kembali pool baca ke jumlah node yang dipilih:
kubectl patch dbinstance -n NAMESPACE READ_POOL_INSTANCE_NAME \ --type=merge -p "{\"spec\":{\"nodeCount\":NODE_COUNT}}"