2.2. 시스템에서 pre-hook Pod 업데이트
업그레이드에 필요한 마이그레이션 후 작업을 추가하려면 시스템에서 pre-hook pod 명령을 업데이트해야 합니다.
현재 ECDHETER_ACCESS_TOKEN 값을 가져옵니다.
$ MASTER_ACCESS_TOKEN=$(oc get secret system-seed -o json | jq -r .data.MASTER_ACCESS_TOKEN | base64 -d)
ECDHETER_ACCESS_TOKEN이 비어 있지 않고 기존 값이 있는지 확인합니다.
$ echo ${MASTER_ACCESS_TOKEN}
system-app
DeploymentConfig에서 이 릴리스에 필요한 새 명령으로 pre-hook pod 명령을 업데이트합니다.$ oc patch dc/system-app -p "{\"spec\":{\"strategy\":{\"rollingParams\":{\"pre\":{\"execNewPod\":{\"command\":[\"bash\",\"-c\",\"bundle exec rake boot openshift:deploy MASTER_ACCESS_TOKEN=\\\"${MASTER_ACCESS_TOKEN}\\\" && bundle exec rake services:create_backend_apis services:update_metric_owners proxy:update_proxy_rule_owners\"]}}}}}}"
pre-hook pod 명령이 새 값으로 변경되었는지 확인합니다.
$ oc get dc system-app -o json | jq .spec.strategy.rollingParams.pre.execNewPod.command
이전 명령의 결과는 다음과 같아야 합니다.
[ "bash", "-c", "bundle exec rake boot openshift:deploy MASTER_ACCESS_TOKEN=\"<your-master-access-token>\" && bundle exec rake services:create_backend_apis services:update_metric_owners proxy:update_proxy_rule_owners" ]