一、Pod的配置管理
应用部署的最佳实践就是将应用所需的配置信息与程序分离,这样应用程序可以更好的被复用,通过不同配置可以实现更好的功能。将应用程序打包成容器镜像后,可以通过环境变量或者外挂文件的方式在创建容器时进行配置注入,但在大规模容器环境中,对多个容器进行不同配置将变得非常复杂,K8S在1.2版本提供了一种统一配置管理方案---ConfigMap。
1.ConfigMap概述
ConfigMap供容器使用的典型用法:
(1) 生成容器内的环境变量
(2) 设置容器启动命令启动参数(需设置为环境变量)
(3) 以 volume形式挂载为容器内部
ConfigMap 以一个或多个key:value的形式保存在K8S系统中供应用使用,既可以用于表示一个变量的值(例如 apploglevel=info),也可以用于表示一个完整的配置文件的内容(例如 server.xml=<?xml>)可以通过YAML文件或者使用kubectl create configmap命令行形式创建ConfigMap。
2.创建ConfigMap资源对象
- 通过yaml文件创建
-
apiVersion: v1 kind: ConfigMap metadata: name: cm-appvars data: apploglevel: info appdatadir: /var/data
-
将两个配置文件server.xml和logging.properties定义为ConfigMap:
-
<