7.2. 为 3scale 配置后端组件
作为 3scale 管理员,在以下部署配置中为 后端组件环境变量配置 Redis HA(failover):backend-cron、backend-listener 和 backend-worker。这些配置是 3scale 中红帽 HA 所必需的。
如果要将 Redis 与 sentinels 搭配使用,您必须在 backend-redis、system-redis 或两个 secret 中提供 sentinel 配置。
7.2.1. 创建 backend-redis 和 system-redis secret 复制链接链接已复制到粘贴板!
按照以下步骤相应地创建 backend-redis 和 system-redis secret:
7.2.2. 为 HA 部署 3scale 的新安装 复制链接链接已复制到粘贴板!
流程
使用以下字段创建
backend-redis和system-redissecret:backend-redis
Copy to Clipboard Copied! Toggle word wrap Toggle overflow system-redis
NAMESPACE SENTINEL_HOSTS SENTINEL_ROLE URL
NAMESPACE SENTINEL_HOSTS SENTINEL_ROLE URLCopy to Clipboard Copied! Toggle word wrap Toggle overflow 当使用 sendinels 为 Redis 配置时,
backend-redis和system-redis中的对应URL字段以redis://[:redis-password@]redis-group[/db]格式引用 Redis 组,其中 [x] 表示可选元素 x,redis-password、redis-group和db是变量:示例
redis://:redispwd@mymaster/5
redis://:redispwd@mymaster/5Copy to Clipboard Copied! Toggle word wrap Toggle overflow SENTINEL_HOSTS字段采用以下格式以逗号分隔:redis://:sentinel-password@sentinel-hostname-or-ip:port
redis://:sentinel-password@sentinel-hostname-or-ip:portCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于列表的每个元素,[x] 表示可选元素 x,
sendinel-password、finel-hostname-or-ip,port是相应地替换的变量:示例
:sentinelpwd@123.45.67.009:2711,:sentinelpwd@other-sentinel:2722
:sentinelpwd@123.45.67.009:2711,:sentinelpwd@other-sentinel:2722Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
SENTINEL_ROLE字段为master或slave字段。
按照使用 operator 部署 3scale 中的内容部署 3scale。
-
忽略因为
backend-redis和system-redis已存在的错误。
-
忽略因为
7.2.3. 将 3scale 的非 HA 部署迁移到 HA 复制链接链接已复制到粘贴板!
-
使用所有字段编辑
backend-redis和system-redissecret,如 部署 3scale 为 HA 所示。 确保为后端容器集定义了以下
backend-redis环境变量。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确保为
system-(app|sidekiq|sphinx)pod 定义了以下system-redis环境变量。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 继续执行说明以使用模板升级 3scale。
7.2.3.1. 使用 Redis Enterprise 复制链接链接已复制到粘贴板!
在 OpenShift 中使用 Redis Enterprise,具有三个不同的
redis-enterprise实例:编辑
system-redissecret:-
将
system-redis中的系统 redis 数据库设置为URL。
-
将
-
将
backend-redis中的后端数据库设置为REDIS_QUEUES_URL。 -
将第三个数据库设置为
backend-redis的REDIS_STORAGE_URL。
7.2.3.2. 使用 Redis Sentinel 复制链接链接已复制到粘贴板!
您可以选择将 Redis Sentinels 应用到任何数据库。但是,红帽建议将 Redis Sentinels 应用到所有系统以实现 HA。
用于统计信息的后端 redis:更新
backend-redissecret 并为其提供值:-
REDIS_STORAGE_URL -
REDIS_STORAGE_SENTINEL_ROLE REDIS_STORAGE_SENTINEL_HOSTS将
REDis_STORAGE_SENTINEL_ROLE设置为一个以逗号分隔的主机和端口列表,例如::sentinelpwd@123.45.67.009:2711,:sentelpwd@other-sentinel:2722
-
用于队列的后端 redis:更新
backend-redissecret 并为其提供值:-
REDIS_QUEUES_URL -
REDIS_QUEUES_SENTINEL_ROLE REDIS_QUEUES_SENTINEL_HOSTS将
REDIS_QUEUES_SENTINEL_ROLE设置为一个以逗号分隔的主机和端口列表,例如::sentinelpwd@123.45.67.009:2711,:sentelpwd@other-sentinel:2722
-
- 使用 Redis 数据库的 Redis Sentinel:
用于数据的 redis:更新
system-redissecret 并为其提供值:注意编辑
system-redissecret:URL-
SENTINEL_ROLE -
NAMESPACE -
URL SENTINEL_HOSTS将
SENTINEL_HOSTS设置为以逗号分隔的主机和端口列表,例如::sentinelpwd@123.45.67.009:2711,:sentinelpwd@other-sentinel:2722
-
备注
system-app 和 system-sidekiq 组件直接连接到
后端Redis 以检索统计信息。-
从 3scale 2.7 开始,使用发送时这些系统组件也可以连接到
后端Redis(存储)。
-
从 3scale 2.7 开始,使用发送时这些系统组件也可以连接到
system-app 和 system-sidekiq 组件 仅使用
backend-redis存储,而不使用backend-redis队列。-
对系统组件所做的更改支持带有 sendinels 的
backend-redis存储。
-
对系统组件所做的更改支持带有 sendinels 的