2.4. 为 Redis Enterprise 和 Redis Sentinel 配置系统 DeploymentConfig
本节将帮助您配置现有 system
DeploymentConfig 以使用您创建的 secret 字段。这些 secret 字段用作 system-redis
中的环境变量。
在
system-redis
secret 中为系统连接添加与 Redis Enterprise 兼容性相关的字段:oc patch secret/system-redis --patch '{"stringData": {"MESSAGE_BUS_SENTINEL_HOSTS": "", "MESSAGE_BUS_SENTINEL_ROLE": "", "SENTINEL_HOSTS": "", "SENTINEL_ROLE": "", "MESSAGE_BUS_NAMESPACE": "", "MESSAGE_BUS_URL": "", "NAMESPACE": ""}}'
$ oc patch secret/system-redis --patch '{"stringData": {"MESSAGE_BUS_SENTINEL_HOSTS": "", "MESSAGE_BUS_SENTINEL_ROLE": "", "SENTINEL_HOSTS": "", "SENTINEL_ROLE": "", "MESSAGE_BUS_NAMESPACE": "", "MESSAGE_BUS_URL": "", "NAMESPACE": ""}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将新环境变量添加到
system-app
容器中:oc patch dc/system-app -p "$(cat redis-patches/system-app-podcontainers.patch)"
$ oc patch dc/system-app -p "$(cat redis-patches/system-app-podcontainers.patch)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令触发
system-app
DeploymentConfig 重启。等待 DeploymentConfig pod 重启并再次处于 Ready 状态。使用以下命令列出 DeploymentConfig 的所有环境变量:
oc set env dc a-deployment-config-name --list
$ oc set env dc a-deployment-config-name --list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行这个命令,以在此步骤的项中的每个 patch 命令前和之后检索环境变量列表。
以下是无法使用命令列出环境变量并需要特定命令的特殊情况:
pre-hook
pod:oc get dc system-app -o json | jq .spec.strategy.rollingParams.pre.execNewPod.env
$ oc get dc system-app -o json | jq .spec.strategy.rollingParams.pre.execNewPod.env
Copy to Clipboard Copied! Toggle word wrap Toggle overflow system-sidekiq
initContaineroc get dc system-sidekiq -o json | jq .spec.template.spec.initContainers[0].env
$ oc get dc system-sidekiq -o json | jq .spec.template.spec.initContainers[0].env
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
将新环境变量添加到
system-app
pre-hook pod 中:oc patch dc/system-app -p "$(cat redis-patches/system-app-prehookpod-json.patch)" --type json
$ oc patch dc/system-app -p "$(cat redis-patches/system-app-prehookpod-json.patch)" --type json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行前面的命令后,现有环境变量会保持不变。另外,新的变量被添加到 system-app 的
pre-hook
pod 中,以及 system-app 的所有容器(system-master、system-developer、system-provider),并将system-secret
secret 用作源:- REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_URL
- MESSAGE_BUS_REDIS_SENTINEL_HOSTS
- MESSAGE_BUS_REDIS_SENTINEL_ROLE
- REDIS_SENTINEL_HOSTS
- REDIS_SENTINEL_ROLE
- BACKEND_REDIS_SENTINEL_HOSTS
- BACKEND_REDIS_SENTINEL_ROLE
在
system-sidekiq
中添加新环境变量:oc patch dc/system-sidekiq -p "$(cat redis-patches/system-sidekiq.patch)"
$ oc patch dc/system-sidekiq -p "$(cat redis-patches/system-sidekiq.patch)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令将触发
system-sidekiq
DeploymentConfig 重启。等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。运行上一命令后,将以下环境变量添加到 system-sidekiq
pod
的system-sidekiq
InitContainer 中:- REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_URL
- MESSAGE_BUS_REDIS_SENTINEL_HOSTS
- MESSAGE_BUS_REDIS_SENTINEL_ROLE
- REDIS_SENTINEL_HOSTS
REDIS_SENTINEL_ROLE
另外,在
system-sidekiq
pod 中还添加了以下环境变量:- REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_URL
- MESSAGE_BUS_REDIS_SENTINEL_HOSTS
- MESSAGE_BUS_REDIS_SENTINEL_ROLE
- REDIS_SENTINEL_HOSTS
- REDIS_SENTINEL_ROLE
- BACKEND_REDIS_SENTINEL_HOSTS
- BACKEND_REDIS_SENTINEL_ROLE
在
system-sphinx
中添加新环境变量:oc patch dc/system-sphinx -p "$(cat redis-patches/system-sphinx.patch)"
$ oc patch dc/system-sphinx -p "$(cat redis-patches/system-sphinx.patch)"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令触发
system-sphinx
DeploymentConfig 重启。等待 DeploymentConfig 容器集重新引导并再次处于 ready 状态。运行上一命令后,会将以下环境变量保持在
system-sphinx
pod 中。- REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_NAMESPACE
- MESSAGE_BUS_REDIS_URL
- MESSAGE_BUS_REDIS_SENTINEL_HOSTS
- MESSAGE_BUS_REDIS_SENTINEL_ROLE
- REDIS_SENTINEL_HOSTS
- REDIS_SENTINEL_ROLE
- REDIS_URL