Antes de começar
Quando você faz upgrade do operador do AlloyDB Omni, o banco de dados é reiniciado, a menos que todas as condições a seguir sejam verdadeiras:
- Você está atualizando a versão 1.1.1 do operador do AlloyDB Omni para uma versão mais recente.
- Você está usando a versão 15.5.5 ou mais recente do banco de dados do AlloyDB Omni.
- O AlloyDB AI não está ativado.
Se o banco de dados for reiniciado, não haverá perda de dados.
A partir da versão 15.7.1 do banco de dados AlloyDB Omni, a alta disponibilidade (HA) nos clusters de banco de dados AlloyDB Omni baseados no Kubernetes usa uma nova arquitetura para oferecer mais proteção e melhorias para recursos de configuração automática, failover e correção de HA.
Se você estiver fazendo upgrade da versão do banco de dados do AlloyDB Omni de 15.7.0 (ou anterior) para a versão 15.7.1 (ou posterior) ou se estiver fazendo downgrade de versões, desative a alta disponibilidade e reative-a após a conclusão do processo.
Determinar suas versões atuais
Para verificar a versão do AlloyDB Omni usada pelo cluster de banco de dados, execute o seguinte comando:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'
Faça as seguintes substituições:
DB_CLUSTER_NAME
: o nome do cluster de banco de dados. É o mesmo nome de cluster de banco de dados que você declarou ao criá-lo. Para mais informações, consulte Instalar o AlloyDB Omni no Kubernetes.NAMESPACE
: o namespace do Kubernetes do cluster de banco de dados.
Se você executar a versão 1.0.0 ou mais recente do operador do AlloyDB Omni, esse comando vai imprimir a versão do AlloyDB Omni usada pelo cluster de banco de dados.
Para verificar a versão do operador do AlloyDB Omni instalada no cluster do Kubernetes, execute o seguinte comando:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'
Se você executar a versão 1.0.0 ou mais recente do operador do AlloyDB Omni, a saída será o número da versão do operador do AlloyDB Omni em execução no seu cluster do Kubernetes.
Se você estiver executando uma versão do operador do AlloyDB Omni anterior à 1.0.0, siga as instruções em Fazer upgrade de um operador do AlloyDB Omni anterior à versão 1.0.0. Caso contrário, continue com Verificar os números da versão de destino.
Verificar os números da versão de destino
Se você estiver executando uma versão do operador do AlloyDB Omni 1.0.0 ou mais recente, as próximas etapas vão depender da versão do AlloyDB Omni para a qual você quer fazer upgrade. O número da versão do AlloyDB Omni tem os seguintes componentes:
- O número da versão principal da compatibilidade com PostgreSQL
- O número da versão secundária da compatibilidade com PostgreSQL
- O número da versão de patch desta versão do AlloyDB Omni
Por exemplo, o AlloyDB Omni versão 15.7.1 é compatível com o PostgreSQL versão 15.7 e não tem um patch de lançamento do AlloyDB Omni.
Escolha a opção de instalação que funciona para sua versão de destino:
Cenário de instalação | Etapas de atualização |
---|---|
Você quer fazer upgrade para uma versão do AlloyDB Omni que seja compatível com uma versão mais recente do PostgreSQL. | Faça upgrade do operador do AlloyDB Omni e do cluster de banco de dados. Cada conjunto de versões do AlloyDB Omni que oferece suporte a uma versão secundária específica do PostgreSQL tem um número de versão do operador do AlloyDB Omni. Use a tabela de compatibilidade de versões do operador do AlloyDB Omni para verificar se a versão do operador do AlloyDB Omni é compatível com a sua versão do operador. |
Você quer fazer upgrade apenas para uma versão de patch mais recente do AlloyDB Omni. | Faça upgrade apenas do cluster de banco de dados. |
Todos os outros cenários | Siga as etapas em fazer upgrade do operador do AlloyDB Omni. |
Fazer upgrade do operador do AlloyDB Omni
Para fazer upgrade do operador do AlloyDB Omni, siga estas etapas:
Defina as variáveis de ambiente:
export GCS_BUCKET=alloydb-omni-operator
export OPERATOR_VERSION=OPERATOR_VERSION
export HELM_PATH=$OPERATOR_VERSION/alloydbomni-operator-$OPERATOR_VERSION.tgz
Substitua
OPERATOR_VERSION
pela versão do operador do AlloyDB Omni para a qual você está fazendo upgrade. Por exemplo,1.4.0
.Baixe o operador mais recente do AlloyDB Omni:
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
Aplique as definições de recursos personalizados mais recentes do operador do AlloyDB Omni:
kubectl apply -f alloydbomni-operator/crds
Faça upgrade do gráfico do Helm do operador do AlloyDB Omni:
helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
Atualizar os clusters de banco de dados
Para atualizar o dbCluster
, siga estas etapas:
Se você estiver fazendo upgrade de um cluster de banco de dados do AlloyDB Omni de alta disponibilidade da versão 15.7.0 (ou anterior) para a versão 15.7.1 (ou posterior), siga estas etapas para desativar a alta disponibilidade.
- Defina
numberOfStandbys
como0
no manifesto do cluster.
spec: availability: numberOfStandbys: 0
- Para desativar a alta disponibilidade, aplique o manifesto novamente.
- Defina
Atualize as versões
databaseVersion
econtrolPlaneAgentsVersion
no manifesto do cluster e reaplique o manifesto.A seguir, parte de um arquivo de manifesto que especifica a versão 15.7.1 do
databaseVersion
e a versão 1.4.0 docontrolPlaneAgentsVersion
:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.7.1" controlPlaneAgentsVersion: "1.4.0" ...
Substitua a seguinte variável:
DB_CLUSTER_NAME
: o nome do cluster de banco de dados. É o mesmo nome de cluster de banco de dados que você declarou ao criá-lo. Para mais informações, consulte Instalar o AlloyDB Omni no Kubernetes.
Aguarde a conclusão do upgrade.
Se você desativou a alta disponibilidade antes do upgrade, siga estas etapas.
Defina o
numberOfStandbys
de volta para o número anterior ao upgrade no manifesto do cluster.Reaplique o manifesto para reativar a alta disponibilidade.
Atualizar alloydb_omni_instance_postgresql_wait_time_second_total
Se você estiver usando a métrica alloydb_omni_instance_postgresql_wait_time_second_total
, atualize para alloydb_omni_instance_postgresql_wait_time_us_total
. Para consumir as duas métricas, use o operador OR
do Prometheus.
(promQL A) OR (promQL A, but replace all occurrences of alloydb_omni_instance_postgresql_wait_time_second_total to alloydb_omni_instance_postgresql_wait_time_us_total)
Se você usar seconds
como a unidade dessa métrica, converta-a para us
.
Para mais informações, consulte as notas de lançamento.