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
5432para tráfego de banco de dados,2379/2380paraetcde as portas de gerenciamento6703,6702e6700usadas 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 clusteretcd. Quando definido comotrue, o orquestrador realiza a configuração e inicializaçãoetcdiniciais nos nósetcddesignados. Se nenhum nóetcdfor definido no deployment_spec, ele será configurado comoetcdnos nós do gerenciador de clusters. Esse parâmetro corresponde à chaveetcd.setupna especificação de implantação.FORCE_OVERWRITE_ETCD: determina se um arquivo de configuraçãoetcdatual será substituído durante o processo de configuração. Defina comotruepara substituir o arquivo de configuração atual nos nós de destino ou defina comofalse(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 RPMsetcd.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ósetcd.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.
Crie um manual chamado
install.yamlque 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.installSubstitua:
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.
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
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_KEYInstale
etcd:sudo dnf install -y etcdInicialize
etcdeditando o arquivo de configuração. É necessário inicializaretcdantes 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.keyEm que:
ETCD_HOST: hostetcdatual.ETCD_HOST_IP: IP do hostetcdatual.ETCD_HOST_1: o nome do primeiro nó no clusteretcd.ETCD_HOST_IP_1: o endereço IP do primeiro nó no clusteretcd.ETCD_HOST_2: o nome do segundo nó no clusteretcd.ETCD_HOST_IP_2: o endereço IP do segundo nó no clusteretcd.ETCD_HOST_3: o nome do terceiro nó no clusteretcd.ETCD_HOST_IP_3: o endereço IP do terceiro nó no clusteretcd.CLUSTER_NAME: nome do cluster de acordo com o plano de controle.
Configure o firewall para permitir a comunicação TCP nas portas
2379e2380.Inicie o etcd:
sudo systemctl enable etcd sudo systemctl start etcd
Instalar componentes do AlloyDB Omni em nós do gerenciador de clusters
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_KEYInstale o gerenciador de clusters:
sudo dnf install -y alloydbomni_cluster_managerInicie 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
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_KEYInstale os componentes do:
sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrestInicie o gerenciador de nós:
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager(Opcional) Se você não estiver usando nós do balanceador de carga separados, instale
pgbouncerekeepalived:sudo dnf install -y pgbouncer keepalived
Instalar componentes do AlloyDB Omni em nós do balanceador de carga
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_KEYInstale os componentes do balanceador de carga:
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyInicie 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.
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.uninstallSubstitua:
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.
Execute o manual. É necessário transmitir
cleanup_data=trueecleanup_config=truecomo 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ó.
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 pgbouncerEm todos os nós do balanceador de carga, execute o seguinte comando:
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerEm todos os nós do gerenciador de clusters, execute o seguinte comando:
sudo dnf remove -y alloydbomni_cluster_managerOpcional: 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
Para trazer seus próprios arquivos de certificado e chave para TLS, consulte Como o AlloyDB Omni usa o TLS.