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 eles forem 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. Caso contrário, 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 transferida por download 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 faça referência à função de instalação da coleção do orquestrador.- name: Install AlloyDB Omni cluster components hosts: all become: true vars: 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.
Para fazer o download e instalar os componentes em todos os nós especificados, execute o manual usando o arquivo de inventário.
ansible-playbook -i deployment_spec.yaml install.yaml
Instalar componentes do AlloyDB Omni sem o Ansible
Se você não tiver um ambiente do Ansible e planeja usar a CLI do Orchestrator para gerenciamento de clusters, será necessário instalar todos os componentes manualmente, já que a CLI do Orchestrator não oferece instalação automatizada de componentes.
Instalar componentes em todos os nós
A tabela abaixo lista todos os tipos de nós e os componentes correspondentes (RPMs) a serem instalados.
| Nó | Componentes de software (RPM) | Observação |
|---|---|---|
control node |
alloydbomni_orchestrator |
|
primary_instance_nodes |
alloydbomni18alloydbomni_monitoralloydbomni_node_managerkeepalivedpgbackrestpgbouncer |
O Keepalived e o pgbouncer são necessários apenas para ambientes em que não há balanceadores de carga. |
etcd_nodes |
etcd |
O ETCD pode ser instalado em nós do gerenciador de clusters quando não há nós dedicados para o ETCD. |
cluster_manager_nodes |
alloydbomni_cluster_manager |
O Cluster Manager pode ser instalado nos nós do banco de dados (primary_instance_nodes) quando não há nós dedicados para o Cluster Manager. |
load_balancer_nodes |
alloydbomni_node_managerhaproxykeepalivedpgbouncer |
O Keepalived e o pgbouncer são instalados em nós do balanceador de carga apenas para o ambiente em que há balanceadores de carga configurados. |
Comandos de instalação:
REPO_GPG_KEY: local da chave pública do Google para verificação do GPG, por exemplo,https://dl.google.com/linux/linux_signing_key.pub. Também pode ser definido como um caminho de arquivo depois de transferido por download e colocado 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 de instância principal
Em todos os
primary_instance_nodes, 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
alloydbomni18,alloydbomni_monitor,alloydbomni_node_managerepgbackrestem todos osprimary_instance_nodes:sudo dnf install -y alloydbomni18 alloydbomni_monitor alloydbomni_node_manager pgbackrest(Opcional) Se você não tiver nós do balanceador de carga (
load_balancer_nodes), instalepgbouncerekeepalived:sudo dnf install -y pgbouncer keepalivedDepois que
alloydbomni_node_managerfor instalado,alloydbomni_node_managerprecisará ser configurado antes de iniciar os serviços. Verifique se o arquivo de especificação de implantação (deployment_spec.yaml) foi copiado para todas as VMs respectivas:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
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_managerDepois que
alloydbomni_cluster_managerfor instalado eetcdfor inicializado,alloydbomni_cluster_managerprecisará ser configurado antes de iniciar os serviços.sudo /usr/local/bin/alloydbomni_cm_config apply -d deployment_spec.yaml
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 haproxyDepois que
alloydbomni_node_managerfor instalado eetcdfor inicializado,alloydbomni_node_managerprecisará ser configurado antes de iniciar os serviços. Verifique se o arquivo de especificação de implantação (deployment_spec.yaml) foi copiado para todas as VMs respectivas:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
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 de 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 seu 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 faça referência à função google.alloydbomni_orchestrator.uninstall.
Crie um manual chamado
uninstall.yaml.- name: Uninstall AlloyDB Omni cluster hosts: all become: true vars: 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.