K8S之ConfigMap

网友投稿 290 2022-09-09

K8S之ConfigMap

文章目录

​​一、概念​​​​二、实例​​

​​`2.1.创建一个configmap`​​

​​方式一:​​​​方式二:指定文件生成并创建configmap​​

​​`2.2.Pod使用configmap`​​

​​三、subPath​​

一、概念

创建ConfigMap后,数据实际会存储在K8s(Etcd)中,然后通过创建Pod时引用该数据。

Pod使用ConfigMap挂载的两种方式

变量注入数据卷挂载

二、实例

​​2.1.创建一个configmap​​

方式一:

apiVersion: v1kind: ConfigMapmetadata: name: redis-cfgdata: #以键值对的形式定义 abc: "123" bcd: "456" #以文本的形式定义,适用于多行文件;|表示支持多行 redis.properties: | port: 6379 host: 192.168.1.10

方式二:指定文件生成并创建configmap

kubectl create cm myconfigmap --from-file=application.yml -n mynamespace

​​2.2.Pod使用configmap​​

apiVersion: v1kind: Podmetadata: name: configmap-demo-podspec: containers: - name: demo image: nginx imagePullPolicy: IfNotPresent env: - name: ABC valueFrom: configMapKeyRef: name: redis-cfg key: abc - name: BCD valueFrom: configMapKeyRef: name: redis-cfg key: bcd volumeMounts: - name: config #卷名 mountPath: "/config" #挂载到容器的/config目录下 readOnly: true volumes: - name: config #卷名 configMap: name: redis-cfg #configmap的名字 items: - key: "redis.properties" #configmap中的文件名 path: "redis_config" #挂载到容器后的文件名

三、subPath

参考文章:​​​K8s subPath​​

volumeMounts:- name: nginx-config mountPath: /etc/nginx/nginx.conf # 也可挂载到文件 subPath: nginx.conf # 挂载到文件时,需设置子路径

将名为 nginx-config的 volume 中的 nginx.conf key 对应内容,以文件形式挂载到容器中 /etc/nginx/nginx.conf 路径。

需注意:在 ConfigMap 中使用 subPath 将影响 ConfigMap 内容变化时的自动更新。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:柚子味、香蕉牛奶味,会是你印象中夏天的味道吗?
下一篇:kubeadm部署K8s集群V1.19.0
相关文章

 发表评论

暂时没有评论,来抢沙发吧~