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

Seleziona una versione della documentazione:

Questa pagina descrive come eseguire l'upgrade dell'operatore AlloyDB Omni alla versione 1.8.2. 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.
  • Utilizzi la versione 15.5.5 o successive del database AlloyDB Omni.
  • AlloyDB AI non è attivato. 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 di 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 disattivare 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 al momento della 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 di AlloyDB Omni operator precedente alla 1.0.0, segui le istruzioni riportate in Eseguire l'upgrade da una versione di AlloyDB Omni operator precedente alla 1.0.0. In caso contrario, controlla i numeri di versione di destinazione.

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 18.3.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 Aggiorna passaggi
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:

Helm Kubernetes

  1. Aggiorna le definizioni di risorse personalizzate (CRD) estraendo il grafico e applicandole manualmente:

    helm pull oci://gcr.io/alloydb-omni/alloydbomni-operator --version 1.8.2 --untar
    kubectl apply -f ./alloydbomni-operator/crds
  2. Esegui l'upgrade del grafico Helm dell'operatore AlloyDB Omni:

    helm upgrade alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \
      --version 1.8.2 \
      --namespace alloydb-omni-system \
      --atomic \
      --timeout 5m

OLM OperatorHub.io

Al momento dell'installazione, utilizzi una strategia di approvazione dell'upgrade manuale o automatico. Se scegli una strategia di upgrade automatico, OLM esegue l'upgrade della versione dell'operatore all'ultima versione quando viene rilasciata. Se scegli una strategia di upgrade manuale, segui le istruzioni di OLM per approvare il piano di installazione quando diventa disponibile una nuova release. Per ulteriori informazioni, vedi Approvazione manuale degli upgrade tramite gli abbonamenti.

OLM Red Hat OpenShift

Al momento dell'installazione, utilizzi una strategia di approvazione dell'upgrade manuale o automatico. Se scegli una strategia di upgrade automatico, OLM esegue l'upgrade della versione dell'operatore all'ultima versione quando viene rilasciata. Se scegli una strategia di upgrade manuale, segui le istruzioni di OLM per approvare il piano di installazione quando diventa disponibile una nuova release. Per ulteriori informazioni, vedi Approvazione manuale degli upgrade tramite gli abbonamenti.

Puoi approvare l'upgrade dell'operatore utilizzando la console web OpenShift per la versione di OpenShift che stai utilizzando.

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 workload del database. Per i cluster di database che eseguono una versione precedente, i carichi di lavoro del database devono continuare a essere eseguiti con l'ID utente predefinito 999.

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

  1. Concedi al account di servizio del cluster di database l'autorizzazione per 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 del database 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 l'esempio seguente, che fa parte di un file manifest che specifica la versione 18.3.0 di databaseVersion e la versione 1.8.2 di controlPlaneAgentsVersion:

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

    Sostituisci la seguente variabile:

    • DB_CLUSTER_NAME: il nome del cluster di database. È lo stesso nome del cluster di database che hai dichiarato al momento della creazione. Per saperne di più, 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 OR di 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 utilizzi seconds come unità per questa metrica, devi convertirla in us.

Per ulteriori informazioni, consulta le note di rilascio.