Gestisci i nodi del cluster in AlloyDB Omni

Seleziona una versione della documentazione:

Questa pagina descrive come aggiungere o rimuovere nodi di database in un cluster AlloyDB Omni esistente utilizzando l'orchestratore RPM.

Puoi aggiungere nodi di standby a un cluster esistente per scalare i carichi di lavoro di lettura o aumentare l'alta affidabilità. Puoi anche rimuovere nodi di database specifici per la manutenzione mirata o la disattivazione permanente per ridurre la capacità del cluster.

Prima di iniziare

Aggiungere un nodo di database

Per aggiungere un nuovo nodo di database di standby al cluster, devi aggiornare sia la specifica di deployment, nota anche come inventario, sia la specifica della risorsa del cluster di database.

  1. Per aggiornare la specifica di deployment, apri il file deployment_spec.yaml e aggiungi l'indirizzo IP o il nome host del nuovo nodo nel gruppo primary_instance_nodes.

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

    Sostituisci NEW_NODE con l'indirizzo IP o il nome host del nuovo nodo di standby che stai aggiungendo.

  2. Per aggiornare la specifica della risorsa, apri il file di specifica della risorsa DBCluster e incrementa il valore numberOfStandbys in base al numero di nodi che stai aggiungendo:

    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.
    

    Sostituisci le seguenti variabili:

    • DB_CLUSTER_NAME: il nome del cluster di database.
    • NEW_STANDBY_COUNT: il nuovo numero totale incrementato di nodi di standby nel cluster.
  3. Applica le specifiche delle risorse aggiornate utilizzando uno dei seguenti metodi. L'orchestratore RPM esegue automaticamente il provisioning del nuovo nodo:

    alloydbctl

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

    Ansible

    Per applicare le modifiche utilizzando Ansible, completa i seguenti passaggi:

    1. Crea un playbook add.yml con i seguenti contenuti:

      ---
      # 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
      

      Sostituisci le seguenti variabili:

      • ANSIBLE_USER: l'utente con accesso senza password a tutti i nodi e autorizzazioni sudo.
      • PRIVATE_SSH_KEY_PATH: il percorso della chiave SSH privata per l'autenticazione senza password.
    2. Esegui il playbook creato:

      ansible-playbook -i "DEPLOYMENT_SPEC_PATH" add.yml \
        -e resource_spec="DBCLUSTER_SPECIFICATION"

    Sostituisci le seguenti variabili:

    • DEPLOYMENT_SPEC_PATH: il percorso della directory delle specifiche di deployment.
    • DBCLUSTER_SPECIFICATION: il percorso del manifest DBCluster che hai modificato.

Rimuovere un nodo di database specifico

Per rimuovere un nodo di standby specifico dal cluster, devi rimuoverlo dalla specifica del deployment e ridurre il conteggio di standby.

  1. Per aggiornare la specifica del deployment, apri il file deployment_spec.yaml e rimuovi l'indirizzo IP o il nome host del nodo di destinazione dal gruppo primary_instance_nodes.

  2. Per aggiornare la specifica della risorsa, apri il file di specifica della risorsa DBCluster e riduci il valore 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.
    

    Sostituisci le seguenti variabili:

    • DB_CLUSTER_NAME: il nome del cluster di database.
    • NEW_STANDBY_COUNT: il nuovo numero totale ridotto di nodi di standby nel cluster.
  3. Applica i manifest di aggiornamento utilizzando uno dei seguenti metodi:

    alloydbctl

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

    Ansible

    Per applicare le modifiche utilizzando Ansible, completa i seguenti passaggi:

    1. Crea un playbook remove.yml con i seguenti contenuti:

      ---
      # 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
      

      Sostituisci le seguenti variabili:

      • ANSIBLE_USER: l'utente con accesso senza password a tutti i nodi e autorizzazioni sudo.
      • PRIVATE_SSH_KEY_PATH: il percorso della chiave SSH privata per l'autenticazione senza password.
    2. Esegui il playbook:

      ansible-playbook -i "DEPLOYMENT_SPEC_PATH" remove.yml \
        -e resource_spec="DBCLUSTER_SPECIFICATION"

    Sostituisci le seguenti variabili:

    • DEPLOYMENT_SPEC_PATH: il percorso della directory delle specifiche di deployment.
    • DBCLUSTER_SPECIFICATION: il percorso del manifest DBCluster che hai modificato.
  4. (Facoltativo) Esegui la pulizia dei componenti sul nodo rimosso.

    alloydbctl

    Disinstalla manualmente i componenti AlloyDB Omni per eseguire la pulizia del nodo rimosso.

    Ansible

    L'orchestratore Ansible esegue automaticamente la pulizia dei seguenti componenti sulla VM, se presenti:

    • AlloyDB Omni
    • Monitor di AlloyDB Omni
    • Node Manager
    • pgBackRest
    • PgBouncer
    • Keepalived