2017年1月27日星期五

OpenShift_045:RoadShow 回顾之五:使用 ConfigMap 替代环境变量

环境:OCP 3.4

当环境变量很多时,设置和维护都变得比较麻烦,这时,ConfigMap 就可以派上用场了。
使用 ConfigMap 另一个的好处是与平台无关,镜像可以随便迁移。

1. 克隆 nationalparks 源代码(在 Master 机器上操作)
cd /tmp;
git clone http://git.example.com/git/nationalparks.git;

2. 创建 ConfigMap nationalparks
cd /tmp/nationalparks/ose3
oc create configmap nationalparks --from-file=application.properties=./application-dev.properties
其中 application-dev.properties 内容如下:
# NationalParks MongoDB
mongodb.server.host=mongodb
mongodb.user=mongodb
mongodb.password=mongodb
mongodb.database=mongodb

3. 把 ConfigMap nationalparks mount 到容器中
oc set volumes dc/nationalparks --add -m /opt/openshift/config --configmap-name=nationalparks
上面这个命令把 ConfigMap nationalparks 的内容:文件 application.properties 放置到容器的 /opt/openshift/config 目录下。
DeploymentConfiguration nationalparks 检测到配置变化后,会自动重新部署。

4. 去掉环境变量配置
ConfigMap 配置好之后,就可以删除之前配置的环境变量了。
oc env dc/nationalparks MONGODB_USER- MONGODB_PASSWORD- MONGODB_DATABASE- MONGODB_SERVER_HOST-

确认去掉环境变量后,使用 ConfigMap 可以连接到数据库
http://nationalparks-applications.apps.example.com/ws/data/all

去掉之后,发现无法连接上数据库。// TODO

参考文献:
1. http://labs.openshift3roadshow.com/roadshow/


没有评论: