This documentation is for a release that is no longer maintained
See documentation for the latest supported version.2.3. Operator を使用したローカルデータベースの外部データベースサーバーへの移行
デフォルトでは、Red Hat Developer Hub は各プラグインのデータを PostgreSQL データベースでホストします。データベースのリストを取得すると、Developer Hub で設定されているプラグインの数によっては、複数のデータベースが表示される場合があります。ローカルの PostgreSQL サーバーでホストされている RHDH インスタンスから、AWS RDS、Azure データベース、Crunchy データベースなどの外部 PostgreSQL サービスにデータを移行できます。各 RHDH インスタンスからデータを移行するには、pg_dump
と psql
、または pgAdmin
などの PostgreSQL ユーティリティーを使用できます。
次の手順では、データベースコピースクリプトを使用して迅速な移行を実行します。
前提条件
手順
ターミナルで次のコマンドを実行して、ローカル PostgreSQL データベース Pod のポート転送を設定します。
oc port-forward -n <your-namespace> <pgsql-pod-name> <forward-to-port>:<forward-from-port>
oc port-forward -n <your-namespace> <pgsql-pod-name> <forward-to-port>:<forward-from-port>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 詳細は以下のようになります。
-
<pgsql-pod-name>
変数は、backstage-psql-<deployment-name>-<_index>
という形式の PostgreSQL Pod の名前を示します。 -
<forward-to-port>
変数は、PostgreSQL データの転送先のポートを示します。 <forward-from-port>
変数は、5432
などの PostgreSQL ローカルインスタンスのポートを示します。例: ポート転送の設定
oc port-forward -n developer-hub backstage-psql-developer-hub-0 15432:5432
oc port-forward -n developer-hub backstage-psql-developer-hub-0 15432:5432
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
次の
db_copy.sh
スクリプトのコピーを作成し、設定に応じて詳細を編集します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 宛先ホスト名 (例:
<db-instance-name>.rds.amazonaws.com
)。 - 2
- 宛先ポート (例:
5432
)。 - 3
- 宛先サーバーのユーザー名 (例:
postgres
)。 - 4
- ソースホスト名 (例:
127.0.0.1
)。 - 5
- 送信元ポート番号 (例:
<forward-to-port>
変数)。 - 6
- ソースサーバーのユーザー名 (例:
postgres
)。 - 7
- インポートするデータベースの名前を二重引用符で囲み、スペースで区切ります (例:
"backstage_plugin_app" "backstage_plugin_auth" "backstage_plugin_catalog" "backstage_plugin_permission" "backstage_plugin_scaffolder" "backstage_plugin_search"
)。
データをコピーするための宛先データベースを作成します。
/bin/bash TO_PSW=<destination-db-password> /path/to/db_copy.sh
/bin/bash TO_PSW=<destination-db-password> /path/to/db_copy.sh
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<destination-db-password>
変数は、宛先データベースに接続するためのパスワードを示します。
注記データのコピーが完了したら、ポート転送を停止できます。大規模データベースの処理と圧縮ツールの使用に関する詳細は、PostgreSQL Web サイトの Handling Large Databases セクションを参照してください。
-
Backstage
カスタムリソース (CR) を再設定します。詳細は、Operator を使用した外部 PostgreSQL インスタンスの設定 を参照してください。 再設定後、
Backstage
CR の末尾に次のコードが存在することを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Backstage
CR を再設定すると、対応するStatefulSet
およびPod
オブジェクトは削除されますが、PersistenceVolumeClaim
オブジェクトは削除されません。ローカルPersistenceVolumeClaim
オブジェクトを削除するには、次のコマンドを使用します。oc -n developer-hub delete pvc <local-psql-pvc-name>
oc -n developer-hub delete pvc <local-psql-pvc-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow <local-psql-pvc-name>
変数は、data-<psql-pod-name>
という形式です。- 設定の変更を適用します。
検証
次のコマンドを実行して、RHDH インスタンスが移行したデータを使用して実行されており、ローカルの PostgreSQL データベースが含まれていないことを確認します。
oc get pods -n <your-namespace>
oc get pods -n <your-namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力で次の詳細を確認します。
-
backstage-developer-hub-xxx
Pod が実行中の状態であること。 backstage-psql-developer-hub-0
Pod が利用不可であること。これらの詳細は、OpenShift Container Platform Web コンソールの Topology ビューを使用して確認することもできます。
-