3.3.4. 使用 ConfigMap 替换路由器配置模板
您可以使用 ConfigMap 来自定义路由器实例,而无需重新构建路由器镜像。可以修改 haproxy-config.template、reload-haproxy 和其他脚本,以及创建和修改路由器环境变量。
- 复制您要修改的 haproxy-config.template,如上所述根据需要进行修改。
创建 ConfigMap:
$ oc create configmap customrouter --from-file=haproxy-config.template
customrouter
ConfigMap 现在包含修改后的 haproxy-config.template 文件的副本。修改路由器部署配置,将 ConfigMap 挂载为文件,并将
TEMPLATE_FILE
环境变量指向该文件。这可以通过oc set env
和oc set volume
命令完成,或者通过编辑路由器部署配置来完成。- 使用
oc
命令 $ oc set volume dc/router --add --overwrite \ --name=config-volume \ --mount-path=/var/lib/haproxy/conf/custom \ --source='{"configMap": { "name": "customrouter"}}' $ oc set env dc/router \ TEMPLATE_FILE=/var/lib/haproxy/conf/custom/haproxy-config.template
- 编辑路由器部署配置
使用
oc edit dc router
,使用文本编辑器编辑路由器部署配置。... - name: STATS_USERNAME value: admin - name: TEMPLATE_FILE 1 value: /var/lib/haproxy/conf/custom/haproxy-config.template image: openshift/origin-haproxy-routerp ... terminationMessagePath: /dev/termination-log volumeMounts: 2 - mountPath: /var/lib/haproxy/conf/custom name: config-volume dnsPolicy: ClusterFirst ... terminationGracePeriodSeconds: 30 volumes: 3 - configMap: name: customrouter name: config-volume ...
保存更改并退出编辑器。这将重新启动路由器。
- 使用