Anda dapat menambahkan node standby ke cluster yang ada untuk menskalakan workload baca atau meningkatkan ketersediaan tinggi. Anda juga dapat menghapus node database tertentu untuk pemeliharaan yang ditargetkan atau penghentian permanen guna mengurangi kapasitas cluster.
Sebelum memulai
- Pastikan cluster Anda dalam status responsif dan
status.phaseadalahReady. - Jika Anda menambahkan node baru, pastikan node tersebut memenuhi Persyaratan sistem dan telah menginstal komponen AlloyDB Omni yang diperlukan.
Menambahkan node database
Untuk menambahkan node database standby baru ke cluster, Anda harus memperbarui spesifikasi deployment, yang juga dikenal sebagai inventaris, dan spesifikasi resource cluster database.
Untuk memperbarui spesifikasi deployment, buka file
deployment_spec.yamldan tambahkan alamat IP atau nama host node baru di grupprimary_instance_nodes.alloydbomni: children: primary_instance_nodes: hosts: db-node-1: db-node-2: NEW_NODE:Ganti
NEW_NODEdengan alamat IP atau nama host node standby baru yang Anda tambahkan.Untuk memperbarui spesifikasi resource, buka file spesifikasi resource
DBClusterdan tambahkan nilainumberOfStandbysdengan jumlah node yang Anda tambahkan:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # Other configurations omitted for brevity. # Modify the availability block in your existing DBCluster resource spec: availability: numberOfStandbys: NEW_STANDBY_COUNT # Remaining configurations omitted.Ganti variabel berikut:
DB_CLUSTER_NAME: nama cluster database Anda.NEW_STANDBY_COUNT: jumlah total node standby baru yang bertambah di cluster Anda.
Terapkan spesifikasi resource yang telah diperbarui menggunakan salah satu metode berikut. Orchestrator RPM otomatis menyediakan node baru:
alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Ansible
Untuk menerapkan perubahan menggunakan Ansible, selesaikan langkah-langkah berikut:
Buat playbook
add.ymldengan konten berikut:--- # Add AlloyDB Omni database nodes - name: Add AlloyDB Omni database nodes hosts: all become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: PRIVATE_SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.addGanti variabel berikut:
ANSIBLE_USER: pengguna dengan akses tanpa sandi ke semua node dan izinsudo.PRIVATE_SSH_KEY_PATH: jalur ke kunci SSH pribadi untuk autentikasi tanpa sandi.
Jalankan playbook yang dibuat:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" add.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"
Ganti variabel berikut:
DEPLOYMENT_SPEC_PATH: jalur ke direktori spesifikasi deployment Anda.DBCLUSTER_SPECIFICATION: jalur ke manifesDBClusteryang Anda ubah.
Menghapus node database tertentu
Untuk menghapus node standby tertentu dari cluster, Anda harus menghapusnya dari spesifikasi deployment dan mengurangi jumlah standby.
Untuk memperbarui spesifikasi deployment, buka file
deployment_spec.yamlAnda dan hapus alamat IP atau nama host node target dari grupprimary_instance_nodes.Untuk memperbarui spesifikasi resource, buka file spesifikasi resource
DBClusterdan kurangi nilainumberOfStandbys:DBCluster: metadata: name: DB_CLUSTER_NAME spec: # Other configurations omitted for brevity. # Modify the availability block in your existing DBCluster resource spec: availability: numberOfStandbys: NEW_STANDBY_COUNT # Remaining configurations omitted.Ganti variabel berikut:
DB_CLUSTER_NAME: nama cluster database Anda.NEW_STANDBY_COUNT: jumlah total node standby baru yang dikurangi di cluster Anda.
Terapkan manifes yang diupdate menggunakan salah satu metode berikut:
alloydbctlalloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"Ansible
Untuk menerapkan perubahan menggunakan Ansible, selesaikan langkah-langkah berikut:
Buat playbook
remove.ymldengan konten berikut:--- # Scale-in database nodes from AlloyDB Omni cluster - name: Scale-In AlloyDB Omni Cluster (Logical Discovery & De-registration) hosts: all become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: PRIVATE_SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.removeGanti variabel berikut:
ANSIBLE_USER: pengguna dengan akses tanpa sandi ke semua node dan izinsudo.PRIVATE_SSH_KEY_PATH: jalur ke kunci SSH pribadi untuk autentikasi tanpa sandi.
Jalankan playbook:
ansible-playbook -i "DEPLOYMENT_SPEC_PATH" remove.yml \ -e resource_spec="DBCLUSTER_SPECIFICATION"
Ganti variabel berikut:
DEPLOYMENT_SPEC_PATH: jalur ke direktori spesifikasi deployment Anda.DBCLUSTER_SPECIFICATION: jalur ke manifesDBClusteryang Anda ubah.
Opsional: Bersihkan komponen pada node yang dihapus.
alloydbctlUninstal komponen AlloyDB Omni secara manual untuk membersihkan node yang dihapus.
Ansible
Orchestrator Ansible secara otomatis membersihkan komponen berikut di VM, jika ada:
- AlloyDB Omni
- Monitor AlloyDB Omni
- Node Manager
pgBackRestPgBouncerKeepalived