Instalar o AlloyDB Omni usando o orquestrador RPM

Selecione uma versão da documentação:

Nesta página, descrevemos como instalar a pilha de software do AlloyDB Omni e os componentes de gerenciamento usando o orquestrador do AlloyDB Omni.

Antes de começar

Antes de instalar os componentes, verifique se você concluiu os pré-requisitos a seguir:

  • Instale o orquestrador: verifique se a coleção do Ansible ou a CLI do orquestrador do AlloyDB Omni está instalada no nó de controle.
  • Provisione máquinas: é necessário ter máquinas virtuais RHEL9 provisionadas de acordo com a arquitetura escolhida, como independente ou de alta disponibilidade.
  • Configure a rede e o firewall: verifique se todas as portas necessárias estão abertas entre os nós. Isso inclui 5432 para tráfego de banco de dados, 2379/2380 para etcd e as portas de gerenciamento 6703, 6702 e 6700 usadas pelo Cluster Manager e Node Manager.
  • Verifique as dependências do pacote de software: se você gerenciar pacotes de software por um repositório Yum particular, siga as instruções do gerenciamento do repositório para incluir arquivos RPM dependentes no repositório.

Preparar o inventário de especificação de implantação

O orquestrador usa um arquivo de especificação de implantação no formato de inventário do Ansible para entender a topologia do cluster. Crie um arquivo chamado deployment_spec.yaml com os detalhes do nó.

alloydbomni:
  vars:
    cluster_manager:
      name: "MANAGEMENT_CLUSTER_NAME"
    etcd:
      setup: SETUP_ETCD
      config_forcewrite: FORCE_OVERWRITE_ETCD
      # version: ETCD_VERSION  # Optional: defaults to the latest version
      # repo_url: ETCD_REPOSITORY_URL  # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni:
      major_version: "PG_VERSION" # Mandatory: for example, 18
      # version: ALLOYDB_OMNI_VERSION    # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL     # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_monitor:
      # version: ALLOYDB_OMNI_MONITOR_VERSION    # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_cluster_manager:
      # version: ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION      # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_node_manager:
      # version: ALLOYDB_OMNI_NODE_MANAGER_VERSION         # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    pgbouncer:
      # version: ALLOYDB_OMNI_PGBOUNCER_VERSION    # Optional
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    pgbackrest:
      # version: ALLOYDB_OMNI_PGBACKREST_VERSION   # Optional
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional

  children:
    primary_instance_nodes:
      hosts:
        DB_HOST_1:
        DB_HOST_2:
        DB_HOST_3:
    load_balancer_nodes:    # Optional. Host group for load balancer. If empty, no load balancer is configured.
      hosts:
        LB_HOST_1:
        LB_HOST_2:
    etcd_nodes:     # Optional: Host group where etcd is set up
      hosts:
        ETCD_HOST_1:
        ETCD_HOST_2:
        ETCD_HOST_3:
    cluster_manager_nodes:    # Optional: Host group for cluster manager
      hosts:
        CM_HOST_1:
        CM_HOST_2:
        CM_HOST_3:

Substitua:

  • MANAGEMENT_CLUSTER_NAME: o nome do cluster de gerenciamento. Ele pode ser o mesmo nome do cluster de banco de dados se estiverem instalados nos mesmos nós, por exemplo, my-management-cluster.
  • SETUP_ETCD: especifica se o orquestrador precisa configurar e inicializar o cluster etcd. Quando definido como true, o orquestrador realiza a configuração e inicialização etcd iniciais nos nós etcd designados. Se nenhum nó etcd for definido no deployment_spec, ele será configurado como etcd nos nós do gerenciador de clusters. Esse parâmetro corresponde à chave etcd.setup na especificação de implantação.
  • FORCE_OVERWRITE_ETCD: determina se um arquivo de configuração etcd atual será substituído durante o processo de configuração. Defina como true para substituir o arquivo de configuração atual nos nós de destino ou defina como false(o padrão) para manter a configuração atual e evitar interrupções de serviço não intencionais.
  • ETCD_VERSION: a versão do pacote etcd a ser instalada, por exemplo, 3.4.13.
  • ETCD_REPOSITORY_URL: o URL do repositório que contém os RPMs etcd.
  • PG_VERSION: a versão principal do PostgreSQL da instalação do AlloyDB Omni, por exemplo, 18.
  • ALLOYDB_OMNI_VERSION: a versão do mecanismo de banco de dados do AlloyDB Omni a ser instalada, por exemplo, 18.1.0. Se omitido, o orquestrador instala a versão mais recente disponível.
  • ALLOYDB_OMNI_COMMON_REPO_URL: o URL do repositório comum que contém os RPMs do AlloyDB Omni, monitor, PgBouncer e pgBackRest.
  • GPG_KEY: o local da chave pública do Google para verificação do GNU Privacy Guard (GPG), por exemplo, https://dl.google.com/linux/linux_signing_key.pub. Isso também pode ser definido como um caminho se a chave for baixada para um arquivo em todas as VMs, por exemplo, /tmp/linux_signing_key.pub.
  • ALLOYDB_OMNI_MONITOR_VERSION: a versão do pacote de monitor do AlloyDB Omni a ser instalada. O padrão é a versão mais recente disponível.
  • ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: a versão do gerenciador de clusters do AlloyDB Omni a ser instalada. Se omitido, o orquestrador instala a versão mais recente disponível.
  • ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: o URL do repositório que contém os RPMs do gerenciador de clusters e do gerenciador de nós do AlloyDB Omni.
  • ALLOYDB_OMNI_NODE_MANAGER_VERSION: a versão do gerenciador de nós do AlloyDB Omni a ser instalada. Se omitido, o orquestrador instala a versão mais recente disponível.
  • ALLOYDB_OMNI_PGBOUNCER_VERSION: a versão do pacote PgBouncer a ser instalada.
  • ALLOYDB_OMNI_PGBACKREST_VERSION: a versão do pacote pgBackRest a ser instalada.
  • DB_HOST_1, DB_HOST_2, DB_HOST_3: os endereços IP ou nomes de domínio totalmente qualificados (FQDNs) das máquinas virtuais designadas como nós de banco de dados.
  • LB_HOST_1, LB_HOST_2: os endereços IP ou nomes de domínio totalmente qualificados (FQDNs) das máquinas virtuais designadas como nós do balanceador de carga.
  • ETCD_HOST_1, ETCD_HOST_2, ETCD_HOST_3: os endereços IP ou FQDNs das máquinas virtuais designadas como nós etcd.
  • CM_HOST_1, CM_HOST_2, CM_HOST_3: os endereços IP ou FQDNs das máquinas virtuais designadas como nós do gerenciador de clusters.

Instalar os componentes

É possível instalar os componentes do AlloyDB Omni e as dependências deles usando o Ansible ou instalando manualmente os pacotes de software em cada nó.

Instalar componentes do AlloyDB Omni usando o Ansible

O método recomendado para instalação é usar a função do Ansible fornecida.

  1. Crie um manual chamado install.yaml que referencie a função de instalação da coleção do orquestrador.

      - name: Install AlloyDB Omni cluster components
        hosts: all
        vars:
          ansible_become: true
          ansible_user: SSH_USER
          ansible_ssh_private_key_file: SSH_KEY_PATH
        roles:
          - role: google.alloydbomni_orchestrator.install
    

    Substitua:

    • SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.
    • SSH_KEY_PATH: o caminho para o arquivo de chave privada SSH no nó de controle, por exemplo, ~/.ssh/id_rsa.
  2. Execute o manual usando o arquivo de inventário para fazer o download e instalar os RPMs em todos os nós especificados.

      ansible-playbook -i deployment_spec.yaml install.yaml
    

Instalar componentes do AlloyDB Omni manualmente

Se você não usar o Ansible, será necessário instalar manualmente os RPMs em cada nó do cluster.

  • REPO_GPG_KEY: o local da chave pública do Google para verificação do GNU Privacy Guard (GPG), por exemplo, https://dl.google.com/linux/linux_signing_key.pub. Isso também pode ser definido como um caminho se a chave for baixada para um arquivo em todas as VMs, por exemplo, file:///tmp/linux_signing_key.pub.

Instalar componentes do AlloyDB Omni em nós etcd

  1. Em todos os nós etcd, crie um arquivo de configuração do repositório YUM chamado /etc/yum.repos.d/alloydb-etcd.repo:

    [etcd]
    name=AlloyDB Omni ETCD
    baseurl=ETCD_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instale etcd:

    sudo dnf install -y etcd
    
  3. Inicialize etcd editando o arquivo de configuração. É necessário inicializar etcd antes de instalar os componentes do AlloyDB Omni.

    Em etcd_nodes, edite /etc/etcd/etcd.conf:

    ETCD_NAME=ETCD_HOST
    ETCD_DATA_DIR=/var/lib/etcd/data
    ETCD_LISTEN_PEER_URLS=https://ETCD_HOST_IP:2380,https://127.0.0.1:2380
    ETCD_LISTEN_CLIENT_URLS=https://ETCD_HOST_IP:2379,https://127.0.0.1:2379
    ETCD_INITIAL_ADVERTISE_PEER_URLS=https://ETCD_HOST_IP:2380
    ETCD_ADVERTISE_CLIENT_URLS=https://ETCD_HOST_IP:2379
    
    ETCD_INITIAL_CLUSTER=ETCD_HOST_1=https://ETCD_HOST_IP_1:2380,ETCD_HOST_2=https://ETCD_HOST_IP_2:2380,ETCD_HOST_3=https://ETCD_HOST_IP_3:2380
    
    ETCD_INITIAL_CLUSTER_STATE=new
    ETCD_INITIAL_CLUSTER_TOKEN=CLUSTER_NAME
    ETCD_ENABLE_V2=true
    
    ETCD_CLIENT_CERT_AUTH=true
    ETCD_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt
    ETCD_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt
    ETCD_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key
    ETCD_PEER_CLIENT_CERT_AUTH=true
    ETCD_PEER_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt
    ETCD_PEER_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt
    ETCD_PEER_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key
    

    Em que:

    • ETCD_HOST: host etcd atual.
    • ETCD_HOST_IP: IP do host etcd atual.
    • ETCD_HOST_1: o nome do primeiro nó no cluster etcd.
    • ETCD_HOST_IP_1: o endereço IP do primeiro nó no cluster etcd.
    • ETCD_HOST_2: o nome do segundo nó no cluster etcd.
    • ETCD_HOST_IP_2: o endereço IP do segundo nó no cluster etcd.
    • ETCD_HOST_3: o nome do terceiro nó no cluster etcd.
    • ETCD_HOST_IP_3: o endereço IP do terceiro nó no cluster etcd.
    • CLUSTER_NAME: nome do cluster de acordo com o plano de controle.
  4. Configure o firewall para permitir a comunicação TCP nas portas 2379 e 2380.

  5. Inicie o etcd:

    sudo systemctl enable etcd
    sudo systemctl start etcd
    

Instalar componentes do AlloyDB Omni em nós do gerenciador de clusters

  1. Em todos os nós do gerenciador de clusters, crie um arquivo de configuração do repositório YUM chamado /etc/yum.repos.d/alloydb-orchestrator.repo:

    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instale o gerenciador de clusters:

    sudo dnf install -y alloydbomni_cluster_manager
    
  3. Inicie o gerenciador de clusters:

    sudo systemctl enable alloydbomni_cluster_manager
    sudo systemctl start alloydbomni_cluster_manager
    

Instalar componentes do AlloyDB Omni em nós de banco de dados

  1. Em todos os nós de banco de dados, crie um arquivo de configuração do repositório YUM chamado /etc/yum.repos.d/alloydb-omni.repo:

    [alloydbomni_core]
    name=AlloyDB Omni Core
    baseurl=ALLOYDB_OMNI_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
    [alloydbomni_common]
    name=AlloyDB Omni Common
    baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    priority=1
    
    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instale os componentes do:

    sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrest
    
  3. Inicie o gerenciador de nós:

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    
  4. (Opcional) Se você não estiver usando nós do balanceador de carga separados, instale pgbouncer e keepalived:

    sudo dnf install -y pgbouncer keepalived
    

Instalar componentes do AlloyDB Omni em nós do balanceador de carga

  1. Em todos os nós do balanceador de carga, crie um arquivo de configuração do repositório YUM chamado /etc/yum.repos.d/alloydb-omni-lb.repo:

    [pgbouncer]
    name=AlloyDB Omni Common
    baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    priority=1
    
    [alloydbomni_node_manager]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instale os componentes do balanceador de carga:

    sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy
    
  3. Inicie o gerenciador de nós:

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    

Resumo dos componentes instalados do AlloyDB Omni

O processo de instalação implanta vários pacotes RPM importantes, dependendo do tipo de nó:

Tipo de nó Componentes instalados Observações
Nós da instância principal alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest Componentes para o mecanismo de banco de dados, monitoramento e gerenciamento.
Nós do balanceador de carga haproxy Opcional. A instalação será ignorada se os nós do balanceador de carga não estiverem disponíveis.
Nós do gerenciador de clusters alloydbomni_cluster_manager Pode ser instalado em nós de banco de dados se nenhum nó dedicado estiver disponível. Se os nós do gerenciador de clusters não forem especificados, o componente do gerenciador de clusters será instalado nos primary_instance_nodes.
Nós etcd etcd Pode ser instalado em nós do gerenciador de clusters, se necessário. Se os nós etcd não forem especificados, etcd será instalado nos cluster_manager_nodes

Desinstalar os componentes

Se você precisar remover a instalação do AlloyDB Omni do ambiente, por exemplo, para desativar um cluster ou se preparar para uma reinstalação limpa, desinstale todos os componentes de software. Desinstale o AlloyDB Omni usando o Ansible ou removendo manualmente os RPMs de cada nó.

Desinstalar componentes do AlloyDB Omni usando o Ansible

Para remover os componentes da pilha de software do AlloyDB Omni usando o Ansible, use o arquivo de inventário atual e um manual que referencie a função google.alloydbomni_orchestrator.uninstall.

  1. Crie um manual chamado uninstall.yaml.

    - name: Uninstall AlloyDB Omni cluster
      hosts: all
      vars:
        ansible_become: true
        ansible_user: SSH_USER
        ansible_ssh_private_key_file: SSH_KEY_PATH
      roles:
        - role: google.alloydbomni_orchestrator.uninstall
    

    Substitua:

    • SSH_USER: o nome de usuário que você usa para se conectar aos nós no cluster usando SSH.
    • SSH_KEY_PATH: o caminho para o arquivo de chave privada SSH no nó de controle, por exemplo, ~/.ssh/id_rsa.
  2. Execute o manual. É necessário transmitir cleanup_data=true e cleanup_config=true como variáveis extras para remover os arquivos de configuração e o diretório de dados.

    ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
    

Desinstalar componentes do AlloyDB Omni manualmente

Se você estiver usando a CLI do orquestrador do AlloyDB Omni, será necessário remover manualmente os RPMs de cada nó.

  1. Em todos os nós de banco de dados, execute o seguinte comando:

    sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncer
    
  2. Em todos os nós do balanceador de carga, execute o seguinte comando:

    sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer
    
  3. Em todos os nós do gerenciador de clusters, execute o seguinte comando:

    sudo dnf remove -y alloydbomni_cluster_manager
    
  4. Opcional: em todos os nós etcd, execute o seguinte comando para desinstalar o etcd e limpar os dados etcd:

    sudo dnf remove -y etcd
    sudo rm -rf /var/lib/etcd/data
    

A seguir