Mengelola node cluster di AlloyDB Omni

Pilih versi dokumentasi:

Halaman ini menjelaskan cara menambahkan atau menghapus node database di cluster AlloyDB Omni yang ada menggunakan orchestrator RPM.

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

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.

  1. Untuk memperbarui spesifikasi deployment, buka file deployment_spec.yaml dan tambahkan alamat IP atau nama host node baru di grup primary_instance_nodes.

    alloydbomni:
      children:
        primary_instance_nodes:
          hosts:
            db-node-1:
            db-node-2:
            NEW_NODE:
    

    Ganti NEW_NODE dengan alamat IP atau nama host node standby baru yang Anda tambahkan.

  2. Untuk memperbarui spesifikasi resource, buka file spesifikasi resource DBCluster dan tambahkan nilai numberOfStandbys dengan 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.
  3. Terapkan spesifikasi resource yang telah diperbarui menggunakan salah satu metode berikut. Orchestrator RPM otomatis menyediakan node baru:

    alloydbctl

    alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"

    Ansible

    Untuk menerapkan perubahan menggunakan Ansible, selesaikan langkah-langkah berikut:

    1. Buat playbook add.yml dengan 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.add
      

      Ganti variabel berikut:

      • ANSIBLE_USER: pengguna dengan akses tanpa sandi ke semua node dan izin sudo.
      • PRIVATE_SSH_KEY_PATH: jalur ke kunci SSH pribadi untuk autentikasi tanpa sandi.
    2. 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 manifes DBCluster yang Anda ubah.

Menghapus node database tertentu

Untuk menghapus node standby tertentu dari cluster, Anda harus menghapusnya dari spesifikasi deployment dan mengurangi jumlah standby.

  1. Untuk memperbarui spesifikasi deployment, buka file deployment_spec.yaml Anda dan hapus alamat IP atau nama host node target dari grup primary_instance_nodes.

  2. Untuk memperbarui spesifikasi resource, buka file spesifikasi resource DBCluster dan kurangi nilai numberOfStandbys:

    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.
  3. Terapkan manifes yang diupdate menggunakan salah satu metode berikut:

    alloydbctl

    alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "DBCLUSTER_SPECIFICATION"

    Ansible

    Untuk menerapkan perubahan menggunakan Ansible, selesaikan langkah-langkah berikut:

    1. Buat playbook remove.yml dengan 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.remove
      

      Ganti variabel berikut:

      • ANSIBLE_USER: pengguna dengan akses tanpa sandi ke semua node dan izin sudo.
      • PRIVATE_SSH_KEY_PATH: jalur ke kunci SSH pribadi untuk autentikasi tanpa sandi.
    2. 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 manifes DBCluster yang Anda ubah.
  4. Opsional: Bersihkan komponen pada node yang dihapus.

    alloydbctl

    Uninstal 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
    • pgBackRest
    • PgBouncer
    • Keepalived