As etapas para fazer upgrade do AlloyDB Omni no Kubernetes dependem da versão do AlloyDB Omni que você executa e da versão para a qual você faz upgrade.
Determinar os números da versão atual
Kubernetes
Para verificar a versão do AlloyDB Omni usada pelo cluster de banco de dados, execute este comando:
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'
Substitua:
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.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 seu cluster de banco de dados.
Para verificar a versão do operador do AlloyDB Omni instalada no cluster do Kubernetes, execute este 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, esse comando vai imprimir o número da versão do operador do AlloyDB Omni em execução no cluster do Kubernetes.
Se você estiver executando uma versão do operador do AlloyDB Omni anterior a 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 para a seção Verificar os números da versão de destino.
Verificar os números da versão de destino
Kubernetes
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. Isso, por sua vez, exige a compreensão do número da versão do AlloyDB Omni.
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, a versão 15.5.5 do AlloyDB Omni é a versão de patch 5 do AlloyDB Omni que oferece suporte à versão 15.5 do PostgreSQL.
Se você quiser fazer upgrade para uma versão do AlloyDB Omni que seja compatível com uma versão mais recente do PostgreSQL, será necessário fazer upgrade do próprio operador do AlloyDB Omni, além do cluster de banco de dados. Cada conjunto de versões do AlloyDB Omni que oferecem suporte a uma versão secundária específica do PostgreSQL tem um número de versão próprio do operador do AlloyDB Omni, que pode ser encontrado na nota da versão da versão do AlloyDB Omni.
Se você quiser fazer upgrade apenas para uma versão de patch mais recente do AlloyDB Omni, atualize apenas o cluster de banco de dados, sem precisar atualizar o operador do AlloyDB Omni.
Caso contrário, continue para a seção Fazer upgrade do operador do AlloyDB Omni.
Fazer upgrade do operador do AlloyDB Omni
Kubernetes
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.1.0
.Baixe o operador mais recente do AlloyDB Omni:
gcloud storage cp -r gs://$GCS_BUCKET/$HELM_PATH ./
tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
Aplique as definições de recurso personalizado 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
Depois de concluir o upgrade do operador do AlloyDB Omni, siga as instruções em Fazer um upgrade no local para criar um novo cluster de banco de dados.
Se o cluster do AlloyDB Omni foi criado com o operador do AlloyDB Omni 1.0.0, adicione o campo controlPlaneAgentsVersion
ao manifesto e defina como 1.1.0
antes de fazer upgrade do cluster para a versão 15.5.5. Caso contrário, o seguinte erro vai aparecer:
admission webhook "vdbcluster.alloydbomni.dbadmin.goog" denied the request: unsupported database version 15.5.5 and/or control plane agents version 1.0.0
Um exemplo de manifesto com o campo controlPlaneAgentsVersion
tem esta aparência:
apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME spec: databaseVersion: "15.5.5" controlPlaneAgentsVersion: "1.1.0" ...