2.4. Redis Enterprise 및 Redis Sentinel에 대한 시스템 DeploymentConfig 구성
이 섹션에서는 생성한 secret 필드를 사용하도록 기존 시스템
DeploymentConfigs를 구성하는 데 도움이 됩니다. 이러한 시크릿 필드는 system-redis
에서 환경 변수로 사용됩니다.
system
-redis
시크릿의 시스템 연결에 대한 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가 재부팅되고 상태가 다시 준비될 때까지 기다립니다.다음 명령으로 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 - 이 명령을 실행하여 이 단계의 항목에 있는 각 패치 명령 전후에 환경 변수 목록을 검색합니다.
다음은 명령을 사용하여 환경 변수를 나열할 수 없고 특정 명령을 요구하는 특수한 사례입니다.
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-master, system-provisioner, system-provider의 모든 컨테이너에 시스템-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 Pod가 재부팅되고 상태가 다시 준비될 때까지 기다립니다.이전 명령을 실행한 후 기존 환경 변수를
system-sidekiq InitContainer의 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 포드에
추가되었습니다.- 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 Pod가 재부팅되고 상태가 다시 준비될 때까지 기다립니다.이전 명령을 실행한 후 기존 환경 변수를
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