3.4. Redis 6 のアップグレード - クラスター内
このセクションでは、クラスター内には維持しつつ 3scale インスタンスの外部にある、内部バックエンドおよびシステム用の Redis データベースを、バージョン 6 からバージョン 7 へアップグレードするために必要な手順について説明します。開始する前に、このドキュメントのすべての前提条件の手順が考慮されていることを確認してください。
移行の概要:
- 3scale インスタンスをスケールダウンし、データベースのみが稼働している状態にする
- データベースデータのコピー (ダンプファイル) を取得する
- 新しいデータベースのデプロイメントを作成する
- 新しいデータベースのデプロイメント用の PVC を作成する
- データベースのデータを新しく作成したデータベースにコピーする
- 新しいデータベースを既存の 3scale インスタンスに接続する
- APIManager で両方のデータベースを外部としてマークする
- 3scale インスタンスを起動する
- 障害が発生した場合は、3scale インスタンスをスケールダウンし、古いデータベースを指定して、APIManager で外部データベースを削除し、3scale を再起動します。
3.4.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}')