第8章 3scale の Redis 高可用性 (HA) サポート
3scale における Redis 高可用性 (HA) のサポートには、既知の問題があります。詳細は、Red Hat 3scale API Management 2.5 リリースノートの第 6 章既知の問題 を参照してください。
8.1. はじめに
高可用性 (HA) は、OpenShift Container Platform (OCP) によりほとんどのコンポーネントで提供されます。詳細は、OpenShift Container Platform 3.11 30.章、高可用性 を参照してください。
3scale では HA のデータベースコンポーネントに以下が含まれます。
-
system-redis
: 3scale のバックグラウンドジョブの一時ストレージを提供し、system-app
Pod の Ruby プロセスのメッセージバスとしても使用されます。 -
backend-redis
: 統計ストレージおよび一時ジョブストレージに使用されます。
system-redis
と backend-redis
の両方を Redis クラスター (オープンソースまたは Redis Labs) に置き換えることができます。
以下の env vars
は system-
(app
,sidekiq
,sphinx
) デプロイメント設定に設定することができます。ただし、これは Redis Enterprise だけに対する要件です。
-
MESSAGE_BUS_REDIS_URL
(redis URL) -
REDIS_NAMESPACE
(namespace Sidekiq の Redis キーへの短い文字列) -
MESSAGE_BUS_REDIS_NAMESPACE
(namespace System メッセージバスの Redis キーへの短い文字列)
Redis Pod が使えなくなったり、OCP によって強制的に終了されたりすると、新しい Pod が自動作成されます。データは永続ストレージから復元されるため、Pod は動作し続けます。このような場合、新しい Pod が起動するまで短いダウンタイムが発生します。これは、Redis がマルチマスター設定をサポートしないという制限によるものです。Redis をデプロイしたすべてのノードに Redis イメージを事前に読み込むと、ダウンタイムを削減することができ、Pod の再起動を迅速に行うことができます。