3.3. MySQL の外部への移行 - クラスター内
内部 MySQL データベースは、3scale の System コンポーネントによって使用されるデータベースです。3scale 2.15 では、system-mysql デプロイメントとして namespace に存在します。
MySQL データベースを外部化するには、次の 2 つのオプションから選択できます。
-
既存の
system-mysqlデプロイメントを維持しますが、Operator から切断します。 - データを新しい MySQL サーバーに移行します。このオプションについては、外部 MySQL データベースの設定 の手順に従ってください。
このセクションでは、既存の system-mysql デプロイメントを維持する最初のオプションについて説明します。このアプローチは、内部 MySQL データベースに関連するリソースから 3scale 参照をすべて削除し、APIManager カスタムリソースでデータベースを外部コンポーネントとしてマークすることで構成されます。
外部 MySQL への移行に必要な手順は最小限ですが、データベースの再起動により移行はサービスに影響します。ただし、ダンプファイルやバックアップファイルは必要ありません。
3.3.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}')