Esegui l'upgrade dell'operatore AlloyDB Omni Kubernetes alla versione 1.5.0

Seleziona una versione della documentazione:

Questa pagina descrive come eseguire l'upgrade dell'operatore AlloyDB Omni alla versione 1.5.0. I passaggi per l'upgrade dipendono dalla versione attuale di AlloyDB Omni e dalla versione a cui esegui l'upgrade.

Prima di iniziare

Quando esegui l'upgrade dell'operatore AlloyDB Omni, il database viene riavviato a meno che non siano vere tutte le seguenti condizioni:

  • Stai eseguendo l'upgrade dell'operatore AlloyDB Omni dalla versione 1.1.1 a una versione più recente.
  • Stai utilizzando la versione 15.5.5 o successive del database AlloyDB Omni.
  • AlloyDB AI non è abilitato. Per saperne di più, vedi Creare un cluster di database con AlloyDB AI.

Se il database viene riavviato, non è prevista alcuna perdita di dati.

A partire dalla versione 15.7.1 del database AlloyDB Omni, l'alta disponibilità (HA) sui cluster di database AlloyDB Omni basati su Kubernetes utilizza una nuova architettura per fornire maggiore protezione e miglioramenti per le funzionalità di configurazione automatica, failover e riparazione HA.

Se esegui l'upgrade della versione del database AlloyDB Omni dalla versione 15.7.0 (o precedente) alla versione 15.7.1 (o successiva) o se esegui il downgrade delle versioni, devi disabilitare l'alta affidabilità e riattivarla al termine della procedura.

Determinare le versioni correnti

Per controllare la versione di AlloyDB Omni utilizzata dal cluster di database, esegui questo comando:

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'

Effettua le seguenti sostituzioni:

  • DB_CLUSTER_NAME: il nome del cluster di database. È lo stesso nome del cluster di database che hai dichiarato durante la creazione. Per maggiori informazioni, consulta Installare AlloyDB Omni su Kubernetes.

  • NAMESPACE: lo spazio dei nomi Kubernetes del cluster di database.

Se esegui la versione 1.0.0 o successive dell'operatore AlloyDB Omni, questo comando stampa la versione di AlloyDB Omni utilizzata dal cluster di database.

Per controllare la versione dell'operatore AlloyDB Omni installato sul tuo cluster Kubernetes, esegui questo comando:

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'

Se esegui la versione 1.0.0 o successive dell'operatore AlloyDB Omni, l'output è il numero di versione dell'operatore AlloyDB Omni in esecuzione sul cluster Kubernetes.

Se esegui una versione dell'operatore AlloyDB Omni precedente alla versione 1.0.0, segui le istruzioni riportate in Eseguire l'upgrade da un operatore AlloyDB Omni precedente alla versione 1.0.0. In caso contrario, controlla i numeri di versione target.

Controllare i numeri di versione di destinazione

Se esegui una versione dell'operatore AlloyDB Omni 1.0.0 o successive, i passaggi successivi dipendono dalla versione di AlloyDB Omni a cui vuoi eseguire l'upgrade. Il numero di versione di AlloyDB Omni è composto dai seguenti componenti:

  • Il numero di versione principale della compatibilità con PostgreSQL
  • Il numero di versione secondaria della compatibilità con PostgreSQL
  • Il numero di versione della patch di questa release di AlloyDB Omni

Ad esempio, la versione 16.8.0 di AlloyDB Omni supporta la versione 15.7 di PostgreSQL e non ha una patch di rilascio di AlloyDB Omni.

Scegli l'opzione di installazione adatta alla tua versione di destinazione:

Scenario di installazione Passaggi per l'aggiornamento
Vuoi eseguire l'upgrade a una versione di AlloyDB Omni che supporta una versione più recente di PostgreSQL. Esegui l'upgrade dell'operatore AlloyDB Omni e del cluster di database. Ogni insieme di release di AlloyDB Omni che supporta una versione secondaria specifica di PostgreSQL ha il proprio numero di versione dell'operatore AlloyDB Omni. Utilizza la tabella di compatibilità delle versioni dell'operatore AlloyDB Omni per verificare che la versione dell'operatore AlloyDB Omni sia compatibile con la tua versione dell'operatore.
Vuoi eseguire l'upgrade solo a una versione patch più recente di AlloyDB Omni. Esegui l'upgrade solo del cluster di database.
Tutti gli altri scenari Segui i passaggi descritti in Esegui l'upgrade dell'operatore AlloyDB Omni.

Esegui l'upgrade dell'operatore AlloyDB Omni

Per eseguire l'upgrade dell'operatore AlloyDB Omni:

  1. Definisci le variabili di ambiente:

    export GCS_BUCKET=alloydb-omni-operator
    export OPERATOR_VERSION=OPERATOR_VERSION
    export HELM_PATH=$OPERATOR_VERSION/alloydbomni-operator-$OPERATOR_VERSION.tgz

    Sostituisci OPERATOR_VERSION con la versione dell'operatore AlloyDB Omni a cui stai eseguendo l'upgrade, ad esempio 1.5.0.

  2. Scarica l'operatore AlloyDB Omni più recente:

    gcloud storage cp -r gs://$GCS_BUCKET/$HELM_PATH ./
    tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
  3. Applica le definizioni delle risorse personalizzate dell'operatore AlloyDB Omni più recenti:

    kubectl apply -f alloydbomni-operator/crds
  4. Esegui l'upgrade del grafico Helm dell'operatore AlloyDB Omni:

    helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
    --namespace alloydb-omni-system \
    --atomic \
    --timeout 5m

Aggiorna i cluster di database OpenShift dalla versione 1.4.1 o precedente

A partire dalla versione 1.5.0, l'operatore AlloyDB Omni è compatibile con il vincolo del contesto di sicurezza restricted-v2 predefinito di OpenShift. Per i nuovi cluster di database su OpenShift che eseguono controlPlaneAgentsVersion 1.5.0 o versioni successive, OpenShift inserisce ID utente arbitrari per i carichi di lavoro del database. Per i cluster di database che eseguono una versione precedente, i carichi di lavoro del database devono continuare a essere eseguiti come ID utente predefinito 999.

Per aggiornare un cluster di database su OpenShift da una versione di controlPlaneAgentsVersion precedente alla 1.5.0:

  1. Concedi al account di servizio del cluster di database l'autorizzazione a utilizzare il vincolo del contesto di sicurezza anyuid. In questo modo, il workload del database può essere eseguito come ID utente predefinito.

    oc adm policy add-scc-to-user anyuid system:serviceaccount:NAMESPACE:DB_CLUSTER_NAME-sa
  2. Annota il cluster di database con openshift.io/scc=anyuid. L'operatore AlloyDB Omni versione 1.5.0 o successive riconosce questa annotazione ed esegue i carichi di lavoro del database come ID utente predefinito su OpenShift anziché consentire alla piattaforma di inserire un ID arbitrario.

    kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE openshift.io/scc=anyuid
  3. Procedi con i passaggi per aggiornare il cluster di database all'ultima versione.

Aggiorna i cluster di database

Per aggiornare dbCluster, completa i seguenti passaggi:

  1. Se esegui l'upgrade di un cluster di database AlloyDB Omni HA dalla versione 15.7.0 (o precedente) alla versione 15.7.1 (o successiva), segui questi passaggi per disabilitare HA.

    1. Imposta numberOfStandbys su 0 nel manifest del cluster.
    spec:
      availability:
        numberOfStandbys: 0
    
    1. Per disattivare l'alta disponibilità, applica di nuovo il manifest.
  2. Aggiorna le versioni di databaseVersion e controlPlaneAgentsVersion nel manifest del cluster e riapplica il manifest.

    Esegui il seguente esempio, che fa parte di un file manifest che specifica la versione 16.8.0 di databaseVersion e la versione 1.5.0 di controlPlaneAgentsVersion:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: DB_CLUSTER_NAME
      namespace: NAMESPACE
    spec:
      databaseVersion: "16.8.0"
      controlPlaneAgentsVersion: "1.5.0"
    ...
    

    Sostituisci la seguente variabile:

    • DB_CLUSTER_NAME: il nome del cluster di database. È lo stesso nome del cluster di database che hai dichiarato durante la creazione. Per ulteriori informazioni, consulta Installare AlloyDB Omni su Kubernetes.
    • NAMESPACE: lo spazio dei nomi Kubernetes del cluster di database.
  3. Attendi il completamento dell'upgrade.

  4. Se hai disattivato l'alta disponibilità prima dell'upgrade, completa i seguenti passaggi.

    1. Imposta numberOfStandbys sul numero precedente all'upgrade nel manifest del cluster.

    2. Applica di nuovo il manifest per riattivare l'alta disponibilità.

Aggiorna alloydb_omni_instance_postgresql_wait_time_second_total

Se utilizzi la metrica alloydb_omni_instance_postgresql_wait_time_second_total, devi aggiornarla a alloydb_omni_instance_postgresql_wait_time_us_total. Per utilizzare entrambe le metriche, utilizza l'operatore Prometheus OR.

(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 utilizzi seconds come unità per questa metrica, devi convertirla in us.

Per ulteriori informazioni, consulta le note di rilascio.