Antes de começar
Quando atualiza o operador do AlloyDB Omni, a base de dados é reiniciada, a menos que todas as seguintes condições sejam verdadeiras:
- Está a atualizar a versão 1.1.1 do operador do AlloyDB Omni para uma versão mais recente.
- Está a usar a versão 15.5.5 ou posterior da base de dados AlloyDB Omni.
- O AlloyDB AI não está ativado. Para mais informações, consulte o artigo Crie um cluster de base de dados com o AlloyDB AI.
Se a base de dados for reiniciada, não é esperada qualquer perda de dados.
A partir da versão 15.7.1 da base de dados AlloyDB Omni, a alta disponibilidade (HA) nos clusters de base de dados AlloyDB Omni baseados em Kubernetes usa uma nova arquitetura para oferecer maior robustez e melhorias para a configuração automática, a comutação por falha e as capacidades de recuperação da HA.
Se estiver a atualizar a versão da base de dados do AlloyDB Omni de 15.7.0 (ou anterior) para a versão 15.7.1 (ou posterior), ou se estiver a reverter versões, tem de desativar a HA e voltar a ativá-la após a conclusão do processo.
Determine as suas versões atuais
Para verificar a versão do AlloyDB Omni usada pelo cluster da base 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 da base de dados. É o mesmo nome do cluster da base de dados que declarou quando o criou. Para mais informações, consulte o artigo Instale o AlloyDB Omni no Kubernetes.NAMESPACE
: o namespace do Kubernetes do cluster da sua base de dados.
Se executar a versão 1.0.0 ou posterior do operador AlloyDB Omni, este comando imprime a versão do AlloyDB Omni usada pelo cluster da base de dados.
Para verificar a versão do operador do AlloyDB Omni instalada no seu cluster do Kubernetes, execute o seguinte comando:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'
Se executar a versão 1.0.0 ou posterior do operador AlloyDB Omni, o resultado é o número da versão do operador AlloyDB Omni em execução no cluster do Kubernetes.
Se executar uma versão do operador do AlloyDB Omni anterior a 1.0.0, siga as instruções em Atualize a partir de um operador do AlloyDB Omni anterior à versão 1.0.0. Caso contrário, verifique os números das versões de destino.
Verifique os números das versões de destino
Se executar uma versão do operador do AlloyDB Omni 1.0.0 ou posterior, os passos seguintes dependem da versão do AlloyDB Omni para a qual quer fazer a atualização. O número da versão do AlloyDB Omni tem os seguintes componentes:
- O número da versão principal da respetiva compatibilidade com o PostgreSQL
- O número da versão secundária da respetiva compatibilidade com o PostgreSQL
- O número da versão do patch deste lançamento do AlloyDB Omni
Por exemplo, a versão 16.3.0 do AlloyDB Omni suporta a versão 15.7 do PostgreSQL e não tem um patch de lançamento do AlloyDB Omni.
Escolha a opção de instalação adequada à sua versão de destino:
Cenário de instalação | Passos de atualização |
---|---|
Quer atualizar para uma versão do AlloyDB Omni que suporte uma versão mais recente do PostgreSQL. | Atualize o operador do AlloyDB Omni e o cluster da base de dados. Cada conjunto de lançamentos do AlloyDB Omni que suporta uma versão secundária específica do PostgreSQL tem o seu próprio 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 versão do operador. |
Quiser atualizar apenas para uma versão de patch mais recente do AlloyDB Omni. | Atualize apenas o cluster de base de dados. |
Todos os outros cenários | Siga os passos para atualizar o operador do AlloyDB Omni. |
Atualize o operador do AlloyDB Omni
Para atualizar o operador do AlloyDB Omni, siga estes passos:
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 AlloyDB Omni para a qual está a fazer a atualização, por exemplo,1.4.0
.Transfira o operador do AlloyDB Omni mais recente:
gcloud storage cp -r gs://$GCS_BUCKET/$HELM_PATH ./
tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
Aplique as definições de recursos personalizados do operador do AlloyDB Omni mais recentes:
kubectl apply -f alloydbomni-operator/crds
Atualize o gráfico Helm do operador AlloyDB Omni:
helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
Atualize os clusters de base de dados
Para atualizar o dbCluster
, conclua os seguintes passos:
Se estiver a atualizar um cluster de base de dados AlloyDB Omni de HA da versão 15.7.0 (ou anterior) para a versão 15.7.1 (ou posterior), siga estes passos para desativar a HA.
- Defina o
numberOfStandbys
como0
no manifesto do cluster.
spec: availability: numberOfStandbys: 0
- Para desativar a HA, volte a aplicar o manifesto.
- Defina o
Atualize as versões
databaseVersion
econtrolPlaneAgentsVersion
no manifesto do cluster e volte a aplicar o manifesto.Execute o exemplo seguinte, que faz parte de um ficheiro de manifesto que especifica a versão 16.3.0 de
databaseVersion
e a versão 1.4.0 decontrolPlaneAgentsVersion
:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "16.3.0" controlPlaneAgentsVersion: "1.4.0" ...
Substitua a seguinte variável:
DB_CLUSTER_NAME
: o nome do cluster da base de dados. É o mesmo nome do cluster da base de dados que declarou quando o criou. Para mais informações, consulte o artigo Instale o AlloyDB Omni no Kubernetes.
Aguarde até que a atualização seja concluída com êxito.
Se desativou a HA antes da atualização, conclua os passos seguintes.
Defina o
numberOfStandbys
novamente para o número anterior à atualização no manifesto do cluster.Volte a aplicar o manifesto para reativar a HA.
Atualizar alloydb_omni_instance_postgresql_wait_time_second_total
Se estiver a usar a métrica alloydb_omni_instance_postgresql_wait_time_second_total
, tem de a atualizar para alloydb_omni_instance_postgresql_wait_time_us_total
. Para consumir ambas as 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 usar seconds
como unidade para esta métrica, tem de a converter em us
.
Para mais informações, consulte as notas de lançamento.