5.2. KIE Server の MySQL データベースの移行

Red Hat OpenShift Container Platform バージョン 3 の環境に、MySQL データベース Pod を使用する KIE Server が含まれる場合は、MySQL データベースコンテンツを、以前のデプロイメントから新しいデプロイメントにコピーします。このアクションにより、既存のプロセスの状態が新しいデプロイメントにコピーされます。

前提条件

  • Red Hat OpenShift Container Platform バージョン 3 および Red Hat OpenShift Container Platform バージョン 4 のインフラストラクチャーの両方に、ネットワークでアクセスできるマシンが必要です。
  • 対象のマシンに Red Hat OpenShift Container Platform バージョン 4 からの oc コマンドラインクライアントをインストールしておく必要があります。コマンドラインクライアントのインストール方法は、Red Hat OpenShift Container Platform ドキュメントの「 CLI ツール 」を参照してください。
  • MySQL バージョン 8 以降または MariaDB バージョン 10 以降で提供されるクライアントアプリケーション mysql および mysqldump がインストールされている。

手順

  1. Business Central や KIE Server など、以前のデプロイメントや新しいデプロイメントの要素に接続されている Web クライアントやクライアントアプリケーションがないことを確認します。
  2. 空の一時ディレクトリーを作成して、そのディレクトリーに移動します。
  3. oc コマンドを使用して、Red Hat OpenShift Container Platform バージョン 3 インフラストラクチャーにログインし、以前のデプロイメントが含まれるプロジェクトに切り替えます。
  4. 以前のデプロイメントにあるデプロイメント設定名を表示するには、以下のコマンドを実行します。

    oc get dc

    KIE Server に対応する mysql デプロイメント設定を検索します。

  5. 以下のようにデプロイメント設定の YAML を表示します。

    oc edit dc/myapp-mysql

    以下のように、このファイルでデータベースサーバーのユーザー名 (通常 rhpam) およびパスワードを検索します。

    - name: MYSQL_USER
      value: rhpam
    - name: MYSQL_PASSWORD
      value: NDaJIV7!

    ユーザー名とパスワードを記録します。ファイルに変更を加えないでください。

    注記

    次のコマンドを使用して、ユーザー名とパスワードを取得することもできます。

    oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_USER")]}'.value
    
    oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_PASSWORD")]}'.value
  6. 以前のデプロイメントにあるサービス名を表示するには、以下のコマンドを実行します。

    oc get svc

    KIE Server に対応する mysql サービスを検索します。

  7. 以下の例のように、別のターミナルウィンドウで、サービスの名前およびポート番号を使用してローカルホストから mysql サービスへのポート転送を開始します。

    oc port-forward service/myapp-mysql 3306:3306
  8. 以下の例のように、記録したユーザー名を使用して、フルデータベースダンプを作成します。

    mysqldump --all-databases -u rhpam -p -h 127.0.0.1 > mysqldump.sql

    プロンプトが表示されたら、記録したパスワードを入力します。ダンプの作成にはかなり時間がかかる場合があります。

  9. kbd:[Ctrl+C] のキーボードの組み合わせを使用して、別のウィンドウのポート転送を停止します。
  10. oc コマンドを使用して、Red Hat OpenShift Container Platform バージョン 4 インフラストラクチャーにログインし、新しいデプロイメントが含まれるプロジェクトに切り替えます。
  11. 新しいデプロイメントにあるデプロイメント設定名を表示するには、以下のコマンドを実行します。

    oc get dc

    KIE Server に対応する mysql デプロイメント設定を検索します。

  12. 以下のようにデプロイメント設定の YAML を表示します。

    oc edit dc/myappnew-mysql

    このファイルでデータベースサーバーのユーザー名 (通常 rhpam) およびパスワードを検索します。ユーザー名とパスワードを記録します。ファイルに変更を加えないでください。

    注記

    次のコマンドを使用して、ユーザー名とパスワードを取得することもできます。

    oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_USER")]}'.value
    
    oc get dc/myapp-mysql -ojsonpath='{.spec.template.spec.containers[0].env[?(@.name=="MYSQL_PASSWORD")]}'.value
  13. 新しいデプロイメントにあるサービス名を表示するには、次のコマンドを実行します。

    oc get svc

    KIE Server に対応する mysql サービスを検索します。

  14. 以下の例のように、別のターミナルウィンドウで、サービスの名前およびポート番号を使用してローカルホストから mysql サービスへのポート転送を開始します。

    oc port-forward service/myappnew-mysql 3306:3306
  15. 以下のように、記録したユーザー名を使用してデータベースのダンプを復元します。

    mysql -u rhpam -p -h 127.0.0.1 < mysqldump.sql

    プロンプトが表示されたら、記録したパスワードを入力します。復元にはかなり時間がかかる場合があります。

  16. kbd:[Ctrl+C] のキーボードの組み合わせを使用して、別のウィンドウのポート転送を停止します。