AlloyDB Omni Kubernetes オペレーターの最新バージョンに移行する

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

始める前に

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

  • AlloyDB Omni Operator バージョン 1.1.1 を新しいバージョンにアップグレードする。
  • AlloyDB Omni データベース バージョン 15.5.5 以降を使用している。
  • AlloyDB AI が有効になっていない。

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

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: データベース クラスタの名前。これは、作成時に宣言したデータベース クラスタ名と同じです。

  • 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 Operator を実行している場合は、1.0.0 より前の AlloyDB Omni Operator からアップグレードするの手順を実施します。それ以外の場合は、ターゲット バージョン番号を確認するに進みます。

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

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

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

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

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

インストール シナリオ 更新手順
新しいバージョンの PostgreSQL をサポートする AlloyDB Omni のバージョンにアップグレードする。 AlloyDB Omni Operator とデータベース クラスタをアップグレードします。特定の PostgreSQL マイナー バージョンをサポートする AlloyDB Omni リリースの各セットには、独自の AlloyDB Omni Operator バージョン番号があります。これは、AlloyDB Omni バージョンのリリースノートで確認できます。AlloyDB Omni Operator バージョンの互換性の表を使用して、AlloyDB Omni Operator のバージョンと使用している Operator のバージョンに互換性があることを確認します。
AlloyDB Omni の新しいパッチ バージョンにのみアップグレードする。 データベース クラスタのみをアップグレードします。アップグレードする前に、AlloyDB Omni Operator バージョンの互換性の表リリースノートを確認し、AlloyDB Omni Operator の更新も必要かどうかを判断します。
その他のすべてのシナリオ 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 ファイルをダウンロードします。

    gsutil 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 以降にアップグレードする場合は、クラスタのマニフェストで numberOfStandbys0 に設定し、マニフェストを再度適用して HA を無効にします。

    spec:
      availability:
        numberOfStandbys: 0
    

    以前のバージョンからバージョン 15.7.0 以前にアップグレードする場合、またはバージョン 15.7.1 以降から新しいバージョンにアップグレードする場合は、HA を無効にする必要はありません。

  2. クラスタのマニフェストで databaseVersioncontrolPlaneAgentsVersion のバージョンを更新し、マニフェストを再度適用します。

    次のマニフェスト ファイルの一部は、databaseVersion のバージョン 15.7.1 と controlPlaneAgentsVersion のバージョン 1.4.0 を指定しています。

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: DB_CLUSTER_NAME
    spec:
      databaseVersion: "15.7.1"
      controlPlaneAgentsVersion: "1.4.0"
    ...
  3. アップグレードが完了するまで待ちます。

  4. アップグレード前に HA を無効にした場合は、クラスタのマニフェストで numberOfStandbys をアップグレード前の番号に戻し、マニフェストを再適用して 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 に変換する必要があります。

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