AlloyDB Omni Kubernetes Operator をバージョン 1.4.0 にアップグレードする

ドキュメントのバージョンを選択します。

このページでは、AlloyDB Omni オペレーターをバージョン 1.4.0 にアップグレードする方法について説明します。アップグレード手順は、現在の AlloyDB Omni のバージョンとアップグレード後のバージョンによって異なります。

始める前に

AlloyDB Omni Operator をアップグレードすると、次の条件をすべて満たしている場合を除き、データベースが再起動します。

データベースが再起動しても、データが失われることはありません。

AlloyDB Omni データベース バージョン 15.7.1 以降、Kubernetes ベースの AlloyDB Omni データベース クラスタの高可用性(HA)では新しいアーキテクチャが採用されて、HA の自動設定、フェイルオーバー、修復機能の強化と改善が図られています。

AlloyDB Omni データベースのバージョンを 15.7.0 以前から 15.7.1 以降にアップグレードする場合、またはバージョンをダウングレードする場合は、アップグレード前に HA を無効にし、アップグレードの完了後に HA を再度有効にする必要があります。

現在のバージョンを確認する

データベース クラスタで使用されている AlloyDB Omni のバージョンを確認するには、次のコマンドを実行します。

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

次のように置き換えます。

  • DB_CLUSTER_NAME: データベース クラスタの名前。これは、作成時に宣言したデータベース クラスタ名と同じです。詳細については、Kubernetes に AlloyDB Omni をインストールするをご覧ください。

  • NAMESPACE: データベース クラスタの Kubernetes Namespace。

AlloyDB Omni Operator バージョン 1.0.0 以降を実行している場合、このコマンドはデータベース クラスタで使用されている AlloyDB Omni のバージョンを出力します。

Kubernetes クラスタにインストールされている AlloyDB Omni Operator のバージョンを確認するには、次のコマンドを実行します。

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

AlloyDB Omni Operator バージョン 1.0.0 以降を実行している場合、出力は Kubernetes クラスタで実行されている AlloyDB Omni Operator のバージョン番号です。

1.0.0 より前のバージョンの AlloyDB Omni オペレーターを実行している場合は、1.0.0 より前の AlloyDB Omni オペレーターからアップグレードするの手順を実施します。それ以外の場合は、ターゲット バージョン番号を確認します

ターゲット バージョン番号を確認する

AlloyDB Omni Operator のバージョン 1.0.0 以降を実行している場合、次の手順は、アップグレード後の AlloyDB Omni のバージョンによって異なります。AlloyDB Omni のバージョン番号には、次のコンポーネントが含まれます。

  • PostgreSQL との互換性のメジャー バージョン番号
  • PostgreSQL との互換性のマイナー バージョン番号
  • この AlloyDB Omni リリースのパッチ バージョン番号

たとえば、AlloyDB Omni バージョン 16.3.0 は PostgreSQL バージョン 15.7 をサポートしていますが、AlloyDB Omni リリースパッチはありません。

ターゲット バージョンに適したインストール オプションを選択します。

インストール シナリオ 更新手順
新しいバージョンの PostgreSQL をサポートする AlloyDB Omni のバージョンにアップグレードする。 AlloyDB Omni Operator とデータベース クラスタをアップグレードします。特定の PostgreSQL マイナー バージョンをサポートする AlloyDB Omni リリースの各セットには、独自の AlloyDB Omni Operator バージョン番号があります。AlloyDB Omni Operator のバージョン対応表を使用して、AlloyDB Omni Operator のバージョンと使用している Operator のバージョンに互換性があることを確認します。
AlloyDB Omni の新しいパッチ バージョンにのみアップグレードする。 データベース クラスタのみをアップグレードします。
その他のすべてのシナリオ AlloyDB Omni Operator をアップグレードするの手順を実施します。

AlloyDB Omni Operator をアップグレードする

AlloyDB Omni Operator をアップグレードする手順は次のとおりです。

  1. 環境変数を定義します。

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

    OPERATOR_VERSION は、アップグレード後の AlloyDB Omni Operator のバージョンに置き換えます(1.4.0 など)。

  2. 最新の AlloyDB Omni Operator ファイルをダウンロードします。

    gcloud storage cp -r gs://$GCS_BUCKET/$HELM_PATH ./
    tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
  3. 最新の AlloyDB Omni Operator カスタム リソース定義を適用します。

    kubectl apply -f alloydbomni-operator/crds
  4. AlloyDB Omni Operator の Helm チャートをアップグレードします。

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

データベース クラスタを更新する

dbCluster を更新する手順は次のとおりです。

  1. HA AlloyDB Omni データベース クラスタをデータベース バージョン 15.7.0 以前からバージョン 15.7.1 以降にアップグレードする場合は、次の手順で HA を無効にします。

    1. クラスタのマニフェストで numberOfStandbys0 に設定します。
    spec:
      availability:
        numberOfStandbys: 0
    
    1. HA を無効にするには、マニフェストを再度適用します。
  2. クラスタのマニフェストで databaseVersioncontrolPlaneAgentsVersion のバージョンを更新し、マニフェストを再度適用します。

    次の例を実行します。これは、databaseVersion のバージョン 16.3.0 と controlPlaneAgentsVersion のバージョン 1.4.0 を指定するマニフェスト ファイルの一部です。

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: DB_CLUSTER_NAME
    spec:
      databaseVersion: "16.3.0"
      controlPlaneAgentsVersion: "1.4.0"
    ...
    

    次の変数を置き換えます。

  3. アップグレードが完了するまで待ちます。

  4. アップグレード前に HA を無効にした場合は、次の手順で対応します。

    1. クラスタのマニフェストで numberOfStandbys をアップグレード前の番号に戻します。

    2. マニフェストを適用しなおして HA を再度有効にします。

alloydb_omni_instance_postgresql_wait_time_second_total を更新する

alloydb_omni_instance_postgresql_wait_time_second_total 指標を使用している場合は、alloydb_omni_instance_postgresql_wait_time_us_total に更新する必要があります。両方の指標を使用するには、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)

この指標の単位として seconds を使用する場合は、us に変換する必要があります。

詳細については、リリースノートをご覧ください。