Antes de começar
Verifique se você tem o arquivo de especificação da implantação, deployment_spec.yaml, que contém todos os detalhes dos componentes do nó e do cluster.
Fazer upgrade do orquestrador
O orquestrador gerencia seus clusters de banco de dados. É necessário fazer upgrade do orquestrador no nó de controle antes de fazer upgrade dos outros componentes do cluster.
Ansible
Se você gerencia sua infraestrutura usando playbooks do Ansible, siga estas etapas:
Verifique a versão instalada da coleção
google.alloydbomni_orchestratorno nó de controle executando o seguinte comando:ansible-galaxy collection list | grep alloydbomni_orchestratorPara substituir a versão atual, faça o download da versão estável mais recente do arquivo tar da coleção e execute uma instalação forçada:
ansible-galaxy collection install --force google-alloydbomni_orchestrator-NEW_VERSION.tar.gzSubstitua
NEW_VERSIONpela versão da nova coleção.
alloydbctl
Se você usa a ferramenta de linha de comando alloydbctl, siga estas etapas:
Para verificar a versão do pacote instalado do orquestrador de RPM
alloydbomni_orchestratorno nó de controle, execute o seguinte comando:rpm -q alloydbomni_orchestratorFaça upgrade do pacote de software no nó de controle usando o gerenciador de pacotes:
sudo dnf upgrade alloydbomni_orchestrator
Atualizar componentes do cluster usando o Ansible
O Google recomenda que você atualize usando o papel do Ansible fornecido.
Crie um playbook chamado
update.yamlque referencie o papelupdateda coleção do orquestrador. Defina o valor do parâmetroupdate_actioncomoupdate_rpm.Por padrão, o papel
updateatualiza o plano de controle e o plano de dados. Para atualizar apenas os componentes do plano de controle ou de dados, defina o parâmetro do outro plano comofalse.--- - hosts: all become: true vars: update_action: "update_rpm" ansible_user: SSH_USER ansible_ssh_private_key_file: PRIVATE_KEY_PATH update_control_plane: true # Optional argument if you want to only update data plane components update_data_plane: true # Optional argument if you want to only update control plane components roles: - role: google.alloydbomni_orchestrator.updateSubstitua:
SSH_USER: o nome de usuário SSH que tem acesso aos nós do cluster.PRIVATE_KEY_PATH: o caminho para o arquivo da chave SSH privada.update_action: o escopo da atualização. Defina esse valor comoupdate_rpm.update_control_plane: opcional. Defina comofalsepara atualizar apenas os componentes do plano de dados. O padrão étrue.update_data_plane: opcional. Defina comofalsepara atualizar apenas os componentes do plano de controle. O padrão étrue.
Para realizar uma atualização em todos os nós especificados, execute o playbook com o arquivo de inventário:
ansible-playbook -i DEPLOYMENT_SPEC update.yamlSubstitua
DEPLOYMENT_SPECpelo caminho para o arquivo de especificação de implantação.Verifique se o arquivo de especificação da implantação define a versão instalada para cada componente no cluster. O papel de atualização atualiza os componentes com base em como você configura as versões deles no arquivo de inventário:
- Se a versão de um componente corresponder à versão instalada, o papel de atualização não fará mudanças nesse componente.
- Se você mudar a versão de um componente para uma versão de destino específica, ele atualizará o componente para essa versão.
- Se você deixar o campo 'Version' de um componente vazio, ele atualizará o componente para a versão mais recente disponível no repositório configurado.
Atualizar componentes do cluster manualmente
Se você não estiver usando o orquestrador do Ansible ou quiser um controle granular sobre o processo de atualização, poderá atualizar os componentes do RPM manualmente para cada nó no cluster. Recomendamos realizar atualizações de software durante a janela de manutenção programada.
O processo de atualização manual envolve a atualização dos dois planos a seguir:
Plano de controle (componentes do orquestrador de RPM): o plano de controle é a camada que controla e gerencia os clusters de banco de dados. Em uma implantação de RPM, o plano de controle inclui
cluster_manager,node_managereetcd.Plano de dados (cluster de banco de dados): o plano de dados contém os componentes do cluster de banco de dados, incluindo o próprio mecanismo de banco de dados do AlloyDB Omni,
monitor, bem como serviços comopgBackRest,PgBouncer,keepalivedeHAProxy. O upgrade do plano de dados aplica atualizações de versão do banco de dados, patches de segurança e melhorias de desempenho diretamente aos clusters de banco de dados.
Independentemente da arquitetura de referência, as etapas para atualizar o plano de controle permanecem as mesmas. É necessário atualizar os componentes do plano de controle antes de atualizar o plano de dados. As etapas para atualizar o plano de dados variam de acordo com a arquitetura de implantação do banco de dados.
Para atualizar um serviço ou pacote, siga estas etapas:
Interrompa o serviço:
sudo systemctl stop SERVICEFaça upgrade do pacote usando um dos seguintes comandos:
Para atualizar para a versão mais recente disponível:
sudo dnf upgrade PACKAGEPara atualizar para uma versão específica:
sudo dnf upgrade PACKAGE-VERSION
Inicie o serviço:
sudo systemctl start SERVICE
Substitua:
SERVICE: o nome do serviço a ser interrompido e iniciado, por exemplo,pgbounceroukeepalived.PACKAGE: o nome do pacote a ser atualizado, por exemplo,pgbounceroualloydbomni18.VERSION: a versão do pacote de destino a ser instalada, por exemplo18.3.0ou18.3.0-2.rhel9.
Atualizar o plano de controle manualmente
Para atualizar o plano de controle, siga estas etapas nos nós designados:
Para interromper o gerenciador de clusters em todos os nós do gerenciador de clusters, execute o seguinte comando:
sudo systemctl stop alloydbomni_cluster_managerPara atualizar
etcdem todos os nós do DCS, execute os seguintes comandos em sequência:sudo systemctl stop etcdsudo dnf upgrade etcdsudo systemctl start etcdPara atualizar o gerenciador de nós em todos os nós, execute os seguintes comandos em sequência:
sudo systemctl stop alloydbomni_node_managersudo dnf upgrade alloydbomni_node_managersudo systemctl start alloydbomni_node_managerDepois de atualizar os componentes do plano de controle, você pode atualizar o gerenciador de clusters em todos os nós do gerenciador de clusters e reiniciá-lo, se necessário.
sudo dnf upgrade alloydbomni_cluster_managersudo systemctl start alloydbomni_cluster_manager
Atualizar o plano de dados manualmente
Para atualizar o plano de dados, atualize o banco de dados e os serviços auxiliares na ordem especificada para a arquitetura de implantação. Para cada serviço, é necessário seguir uma sequência rigorosa de interrupção do serviço, upgrade do pacote e início do serviço.
Siga as instruções da implantação dependendo da arquitetura de referência.
Recupere o status do cluster usando o comando
alloydbctl gete defina o formato de saída como YAML:alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yamlSubstitua:
RESOURCE_TYPE: o tipo de recurso a ser inspecionado, por exemplo,DBCluster.CLUSTER_NAME: o nome do cluster de banco de dados.DEPLOYMENT_SPEC: o caminho para o arquivo de especificação de implantação.
Na saída YAML, observe o
instanceListna seçãostatus.Encontre o nó que tem o papel definido como
Primary. Todos os outros nós de banco de dados são nós de espera.Atualize todos os componentes do plano de dados em execução nos nós de espera primeiro e, em seguida, atualize esses componentes no nó principal. Siga estas etapas para atualizar os componentes do plano de dados em cada nó.
Para atualizar o AlloyDB Omni, execute os seguintes comandos em sequência:
sudo systemctl stop alloydbomni18sudo dnf upgrade alloydbomni18sudo systemctl start alloydbomni18Para atualizar o monitor, execute os seguintes comandos em sequência:
sudo systemctl stop alloydbomni_monitorsudo dnf upgrade alloydbomni_monitorsudo systemctl start alloydbomni_monitorPara atualizar o pgBackRest, execute os seguintes comandos em sequência:
sudo dnf upgrade pgbackrestPara atualizar o PgBouncer, execute os seguintes comandos em sequência:
sudo systemctl stop pgbouncersudo dnf upgrade pgbouncersudo systemctl start pgbouncerPara atualizar o keepalived, execute os seguintes comandos em sequência:
sudo systemctl stop keepalivedsudo dnf upgrade keepalivedsudo systemctl start keepalivedPara atualizar o HAProxy, execute os seguintes comandos em sequência:
sudo systemctl stop haproxysudo dnf upgrade haproxysudo systemctl start haproxy