Kubernetes configMap(配置文件存储)

官方文档:https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/

与Secret类似,区别在于ConfigMap保存的是不需要加密配置信息。
应用场景:应用配置

创建测试配置文件

1、创建测试配置文件
vim redis.properties

redis.host=127.0.0.1
redis.port=6379
redis.password=123456

2、通过命令创建引用配置文件

kubectl create configmap redis-config --from-file=./redis.properties

3、查看创建的配置文件
kubectl get cm

NAME DATA AGE
redis-config 1 8s

4、查看详细信息
kubectl describe cm redis-config

Name: redis-config
Namespace: default
Labels: <none>
Annotations: <none> Data
====
redis.properties:
----
redis.host=127.0.0.1
redis.port=6379
redis.password=123456 Events: <none>

通过volume导入方式

1、创建yaml文件
vim cm.yaml

apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: busybox
image: busybox
command: [ "/bin/sh","-c","cat /etc/config/redis.properties" ]
volumeMounts:
- name: config-volume
mountPath: /etc/config
volumes:
- name: config-volume
# 指定保存的配置文件
configMap:
# 配置文件名称
name: redis-config
restartPolicy: Never

2、创建容器

kubectl create -f cm.yaml 

3、查看结果
kubectl logs mypod

redis.host=127.0.0.1
redis.port=6379
redis.password=123456

通过变量名方式

1、创建yaml文件
vim myconfig.yaml

apiVersion: v1
kind: ConfigMap
metadata:
# 指定命名空间
name: myconfig
namespace: default
# 指定level type
data:
# 指定变量 value则是配置文件的配置
special.level: info
special.type: hello

2、创建容器

kubectl create -f myconfig.yaml

3、查看创建
kubectl get cm

NAME DATA AGE
myconfig 2 23s
redis-config 1 11m

4、创建pod yaml
vim config-var.yaml

apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: busybox
image: busybox
command: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]
env:
- name: LEVEL
valueFrom:
# 通过key加载配置文件
configMapKeyRef:
# 使用的key
name: myconfig
key: special.level
- name: TYPE
valueFrom:
configMapKeyRef:
# 使用的type
name: myconfig
key: special.type
restartPolicy: Never

5、查看验证
kubectl logs mypod

info hello

最新文章

  1. Tomcat并发数优化,修改service.xml性能调优 增加最大并发连接数
  2. 介绍n款计算机视觉库/人脸识别开源库/软件
  3. iOS,XMPP本地环境搭建和框架使用
  4. Gruntjs: task之文件映射
  5. ScrollView 简单出错
  6. bootstrap 图片轮播效果
  7. Reorder List [LeetCode]
  8. 什么是域名?什么网站名?什么是URL?
  9. Fedora 21 安装桌面环境
  10. 大整数算法[09] Comba乘法(原理)
  11. 基于nodejs 的微信 JS-SDK 简单应用
  12. .net core 使用Redis的发布订阅
  13. 判断终端类型、微信的文章防盗链、h5页面跳转打开新的app、跳转到app市场
  14. lua保留n位小数方法
  15. [cb]扩展Hierarchy 添加二级菜单
  16. WebSocket——为Web应用带来桌面应用般的灵活性【转载+整理】
  17. Spring_错误 java.sql.SQLException: Lock wait timeout exceeded | CannotAcquireLockException 的解决
  18. c# 正则表达式笔记
  19. Visual Studio 2013附加进程调试IE加载的ActiveX Control无效解决方法
  20. 30 进程process

热门文章

  1. 获取Excel工作薄中Sheet页(工作表)名集合
  2. PHP常量以及基本数据类型
  3. Winform中在ZedGraph中最多可以添加多少条曲线
  4. PHP开发人员对JAVA的WEB开发入门(初版-基础知识)
  5. DevOps 工程师成长日记系列三:版本
  6. [b0004] Hadoop 版hello word mapreduce wordcount 运行
  7. BayaiM__oracle切换归档模式步骤:
  8. windows双网卡绑定
  9. Troubleshooting ORA-1628 - max # extents (32765) reached for rollback segment &lt;SEGMENT_NAME&gt; (Doc ID 1580182.1)
  10. [PHP] 近期接手現有的企邮前端框架业务所遇困难