
实现方式: 通过容器平台的configmap 概念对配置进行外部化.
好处:
以campaign 为例, 目录结构和之前类似

先设个变量, 方便后面批量操作: APP_NAME=campaign
首先, 创建配置的configmap:
$ oc create configmap ${APP_NAME}-config --from-file=./config
configmap/campaign-config created其次, 将配置的configmap 挂载到指定目录: (该应用容器里的配置目录为: /deployments/config)
$ oc set volume dc/${APP_NAME} --add --mount-path=/deployments/config --configmap-name=${APP_NAME}-config
info: Generated volume name: volume-77txt
deploymentconfig.apps.openshift.io/campaign volume updated最后, 配置外部化已经完成. 应用会自动更新来使配置生效. 可以通过如下来查看:
$ oc rollout status dc/${APP_NAME}
replication controller "campaign-26" successfully rolled out
如果配置能热加载, 那么就会及时生效. 如果需要实例重启生效, 则需要重启实例:

更新配置的configmap并更新.
更新后重启实例.
$ oc create configmap ${APP_NAME}-config --dry-run -o json --from-file=./config | oc apply -f -
$ oc rollout latest dc/${APP_NAME}