AlloyDB Omni Kubernetes-Operator auf Version 1.6.0 aktualisieren

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite wird beschrieben, wie Sie den AlloyDB Omni-Operator auf Version 1.6.0 aktualisieren. Die Schritte für das Upgrade hängen von Ihrer aktuellen Version von AlloyDB Omni und der Version ab, auf die Sie das Upgrade durchführen.

Hinweis

Wenn Sie den AlloyDB Omni-Operator aktualisieren, wird die Datenbank neu gestartet, sofern nicht alle der folgenden Bedingungen erfüllt sind:

  • Sie führen ein Upgrade des AlloyDB Omni-Operators von Version 1.1.1 auf eine neuere Version durch.
  • Sie verwenden die AlloyDB Omni-Datenbankversion 15.5.5 oder höher.
  • AlloyDB AI ist nicht aktiviert. Weitere Informationen finden Sie unter Datenbankcluster mit AlloyDB AI erstellen.

Wenn die Datenbank neu gestartet wird, ist kein Datenverlust zu erwarten.

Ab der AlloyDB Omni-Datenbankversion 15.7.1 wird für die Hochverfügbarkeit (High Availability, HA) in Ihren Kubernetes-basierten AlloyDB Omni-Datenbankclustern eine neue Architektur verwendet, die mehr Härtung und Verbesserungen für die automatische Einrichtung, das Failover und die Reparaturfunktionen von HA bietet.

Wenn Sie die AlloyDB Omni-Datenbankversion von 15.7.0 (oder früher) auf Version 15.7.1 (oder höher) aktualisieren oder ein Downgrade der Versionen durchführen, müssen Sie die Hochverfügbarkeit deaktivieren und nach Abschluss des Vorgangs wieder aktivieren.

Aktuelle Versionen ermitteln

Führen Sie den folgenden Befehl aus, um die Version von AlloyDB Omni zu prüfen, die von Ihrem Datenbankcluster verwendet wird:

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

Ersetzen Sie die folgenden Werte:

  • DB_CLUSTER_NAME: Der Name Ihres Datenbankclusters. Das ist derselbe Datenbankclustername, den Sie beim Erstellen des Clusters angegeben haben. Weitere Informationen finden Sie unter AlloyDB Omni in Kubernetes installieren.

  • NAMESPACE: Der Kubernetes-Namespace Ihres Datenbankclusters.

Wenn Sie Version 1.0.0 oder höher des AlloyDB Omni-Operators ausführen, wird mit diesem Befehl die Version von AlloyDB Omni ausgegeben, die von Ihrem Datenbankcluster verwendet wird.

Führen Sie den folgenden Befehl aus, um die Version des AlloyDB Omni-Operators zu prüfen, der in Ihrem Kubernetes-Cluster installiert ist:

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

Wenn Sie Version 1.0.0 oder höher des AlloyDB Omni-Operators ausführen, ist die Ausgabe die Versionsnummer des AlloyDB Omni-Operators, der in Ihrem Kubernetes-Cluster ausgeführt wird.

Wenn Sie eine Version des AlloyDB Omni-Operators vor 1.0.0 ausführen, folgen Sie der Anleitung unter Upgrade von einem AlloyDB Omni-Operator vor Version 1.0.0. Andernfalls prüfen Sie die Versionsnummern des Ziels.

Zielversionsnummern prüfen

Wenn Sie eine Version des AlloyDB Omni-Operators 1.0.0 oder höher ausführen, hängen die nächsten Schritte von der Version von AlloyDB Omni ab, auf die Sie ein Upgrade durchführen möchten. Die AlloyDB Omni-Versionsnummer hat die folgenden Komponenten:

  • Die Hauptversionsnummer der PostgreSQL-Kompatibilität
  • Die Nebenversionsnummer der PostgreSQL-Kompatibilität
  • Die Patch-Versionsnummer dieser AlloyDB Omni-Version

Beispiel: AlloyDB Omni-Version 16.9.0 unterstützt PostgreSQL-Version 15.7 und hat keinen AlloyDB Omni-Release-Patch.

Wählen Sie die Installationsoption aus, die für Ihre Zielversion geeignet ist:

Installationsszenario Schritte für die Aktualisierung
Sie möchten auf eine Version von AlloyDB Omni aktualisieren, die eine neuere Version von PostgreSQL unterstützt. Führen Sie ein Upgrade des AlloyDB Omni-Operators und Ihres Datenbankclusters durch. Jede Gruppe von AlloyDB Omni-Releases, die eine bestimmte untergeordnete PostgreSQL-Version unterstützt, hat eine eigene AlloyDB Omni-Operatorversionsnummer. Verwenden Sie die Kompatibilitätstabelle für AlloyDB Omni-Operatorversionen, um zu prüfen, ob Ihre AlloyDB Omni-Operatorversion mit Ihrer Operatorversion kompatibel ist.
Sie möchten nur ein Upgrade auf eine neuere Patch-Version von AlloyDB Omni durchführen. Führen Sie ein Upgrade nur für Ihren Datenbankcluster durch.
Alle anderen Szenarien Folgen Sie der Anleitung unter AlloyDB Omni-Operator aktualisieren.

AlloyDB Omni-Operator aktualisieren

So installieren Sie den AlloyDB Omni-Operator:

  1. Legen Sie die Umgebungsvariablen fest:

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

    Ersetzen Sie OPERATOR_VERSION durch die Version des AlloyDB Omni-Operators, auf die Sie aktualisieren, z. B. 1.6.0.

  2. Laden Sie den neuesten AlloyDB Omni-Operator herunter:

    gcloud storage cp -r gs://$GCS_BUCKET/$HELM_PATH ./
    tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
  3. Wenden Sie die neuesten benutzerdefinierten Ressourcendefinitionen des AlloyDB Omni-Operators an:

    kubectl apply -f alloydbomni-operator/crds
  4. Aktualisieren Sie das Helm-Diagramm für den AlloyDB Omni-Operator:

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

OpenShift-Datenbankcluster ab Version 1.4.1 oder früher aktualisieren

Ab Version 1.5.0 ist der AlloyDB Omni-Operator mit der standardmäßigen restricted-v2-Sicherheitskontexteinschränkung von OpenShift kompatibel. Bei neuen Datenbankclustern in OpenShift mit controlPlaneAgentsVersion 1.5.0 oder höher fügt OpenShift beliebige Nutzer-IDs für die Datenbankarbeitslasten ein. Bei Datenbankclustern mit einer älteren Version müssen die Datenbankarbeitslasten weiterhin mit der Standardnutzer-ID 999 ausgeführt werden.

So aktualisieren Sie einen Datenbankcluster in OpenShift von einer controlPlaneAgentsVersion-Version vor 1.5.0:

  1. Gewähren Sie dem Dienstkonto des Datenbankclusters die Berechtigung, die Sicherheitskontexteinschränkung anyuid zu verwenden. Dadurch kann die Datenbankarbeitslast mit der Standardnutzer-ID ausgeführt werden.

    oc adm policy add-scc-to-user anyuid system:serviceaccount:NAMESPACE:DB_CLUSTER_NAME-sa
  2. Kommentieren Sie den Datenbankcluster mit openshift.io/scc=anyuid. Der AlloyDB Omni-Operator in Version 1.5.0 oder höher erkennt diese Annotation und führt die Datenbankarbeitslasten als Standardnutzer-ID in OpenShift aus, anstatt der Plattform zu erlauben, eine beliebige ID einzufügen.

    kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE openshift.io/scc=anyuid
  3. Fahren Sie mit den Schritten zum Aktualisieren des Datenbankclusters auf die aktuelle Version fort.

Datenbankcluster aktualisieren

So aktualisieren Sie die dbCluster:

  1. Wenn Sie ein Upgrade eines AlloyDB Omni-Datenbankclusters mit Hochverfügbarkeit von Datenbankversion 15.7.0 (oder früher) auf Version 15.7.1 (oder höher) durchführen, folgen Sie dieser Anleitung, um die Hochverfügbarkeit zu deaktivieren.

    1. Setzen Sie numberOfStandbys im Manifest des Clusters auf 0.
    spec:
      availability:
        numberOfStandbys: 0
    
    1. Wenn Sie HA deaktivieren möchten, wenden Sie das Manifest noch einmal an.
  2. Aktualisieren Sie die Versionen von databaseVersion und controlPlaneAgentsVersion im Manifest des Clusters und wenden Sie das Manifest noch einmal an.

    Führen Sie das folgende Beispiel aus, das Teil einer Manifestdatei ist, in der Version 16.9.0 von databaseVersion und Version 1.6.0 von controlPlaneAgentsVersion angegeben sind:

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

    Ersetzen Sie die folgende Variable:

    • DB_CLUSTER_NAME: Der Name Ihres Datenbankclusters. Das ist derselbe Datenbankclustername, den Sie beim Erstellen des Clusters angegeben haben. Weitere Informationen finden Sie unter AlloyDB Omni in Kubernetes installieren.
    • NAMESPACE: Der Kubernetes-Namespace Ihres Datenbankclusters.
  3. Warten Sie, bis der Job erfolgreich abgeschlossen ist.

  4. Wenn Sie HA vor dem Upgrade deaktiviert haben, führen Sie die folgenden Schritte aus.

    1. Legen Sie numberOfStandbys im Manifest des Clusters wieder auf die Zahl vor dem Upgrade fest.

    2. Wenden Sie das Manifest noch einmal an, um HA wieder zu aktivieren.

alloydb_omni_instance_postgresql_wait_time_second_total aktualisieren

Wenn Sie den Messwert alloydb_omni_instance_postgresql_wait_time_second_total verwenden, müssen Sie ihn auf alloydb_omni_instance_postgresql_wait_time_us_total aktualisieren. Wenn Sie beide Messwerte aufnehmen möchten, verwenden Sie den Prometheus-Operator 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)

Wenn Sie seconds als Einheit für diesen Messwert verwenden, müssen Sie ihn in us umwandeln.

Weitere Informationen finden Sie in den Versionshinweisen.