3.2. PostgreSQL 10 のアップグレード - クラスター内
このセクションでは、データベースをクラスター上に保持したまま、内部 PostgreSQL データベースをバージョン 10 からバージョン 15 にアップグレードするために必要な手順について説明します。
移行の概要:
- システムデータベースを実行したまま、3scale インスタンスをスケールダウンします。
- データベースのデータをダンプファイルにエクスポートします。
- 新しいデータベースをクラスターにデプロイします。
- 新しく作成されたデータベースに、データベースのデータを復元します。
- システムデータベースのデータベース接続文字列を、新しいデータベースを指すように変更します。
- APIManager でシステムデータベースを外部としてマークします。
- 3scale インスタンスを起動します。
- 障害が発生した場合は、3scale インスタンスをスケールダウンし、古いデータベースを指定して、APIManager で外部データベースを削除し、3scale を再起動します。
3.2.1. 主なステップ リンクのコピーリンクがクリップボードにコピーされました!
3scale オンプレミスインスタンスがインストールされている OpenShift クラスターにログインします。
oc login <url> <authentication-parameters><url>、<authentication-parameters> は、独自の OpenShift サーバー URL、認証パラメーターに置き換えます。認証パラメーターは
-u <username>または--token=<token>のいずれかになります。次の環境変数を公開します。
export THREESCALE_NAMESPACE=<3scale-namespace> export OPERATOR_NAMESPACE=<3scale-operator-namespace><3scale-namespace>、<3scale-operator-namespace> は、それぞれ 3scale および 3scale Operator がインストールされている namespace の名前に置き換えます。
3scale インストール namespace に切り替えます。以下のコマンドは、
-nオプションで別の namespace が明示的に指定されていない限り、現在の namespace が 3scale がインストールされている namespace であると想定します。oc project $THREESCALE_NAMESPACEスケールダウンを行う前に、各デプロイメントのレプリカ数の値をエクスポートしておきます。これにより、3scale インスタンスを再びスケールアップする際に、各デプロイメントを元のレプリカ数で確実に復元できるようになります。
SYSTEM_MEMCACHE_REPLICA_COUNT=$(oc get deployment system-memcache -o=jsonpath='{.spec.replicas}') ZYNC_DATABASE_REPLICA_COUNT=$(oc get deployment zync-database -o=jsonpath='{.spec.replicas}') APICAST_PRODUCTION_REPLICA_COUNT=$(oc get deployment apicast-production -o=jsonpath='{.spec.replicas}') APICAST_STAGING_REPLICA_COUNT=$(oc get deployment apicast-staging -o=jsonpath='{.spec.replicas}') BACKEND_CRON_REPLICA_COUNT=$(oc get deployment backend-cron -o=jsonpath='{.spec.replicas}') BACKEND_LISTENER_REPLICA_COUNT=$(oc get deployment backend-listener -o=jsonpath='{.spec.replicas}') BACKEND_WORKER_REPLICA_COUNT=$(oc get deployment backend-worker -o=jsonpath='{.spec.replicas}') SYSTEM_APP_REPLICA_COUNT=$(oc get deployment system-app -o=jsonpath='{.spec.replicas}') SYSTEM_SIDEKIQ_REPLICA_COUNT=$(oc get deployment system-sidekiq -o=jsonpath='{.spec.replicas}') SYSTEM_SEARCHD_REPLICA_COUNT=$(oc get deployment system-searchd -o=jsonpath='{.spec.replicas}') ZYNC_REPLICA_COUNT=$(oc get deployment zync -o=jsonpath='{.spec.replicas}') ZYNC_QUE_REPLICA_COUNT=$(oc get deployment zync-que -o=jsonpath='{.spec.replicas}')