当前位置: 首页 > news >正文

k8s-----16、配置管理-ConfigMap

ConfigMap

  • 1、作用
  • 2、以volume形式进行挂载
    • 2.1 创建配置文件
    • 2.2 创建ConfigMap文件
    • 2.3 最终的yaml文件
  • 3、以变量形式进行挂载
    • 3.1 创建configmap文件
    • 3.2 书写最终yaml文件

1、作用

  • 存储不加密的数据到etcd中,以变量或者volume形式挂载到pod的容器中
  • 场景:配置文件

2、以volume形式进行挂载

2.1 创建配置文件

[root@master k8sconfigmap]# vim redis.properties
[root@master k8sconfigmap]# cat redis.properties 
redis.host=127.0.0.1
redis.port=6379
redis.password=123456

2.2 创建ConfigMap文件

[root@master k8sconfigmap]# kubectl create configmap redis-config --from-file=redis.properties 
configmap/redis-config created
[root@master k8sconfigmap]# kubectl get cm   #查看cm信息
NAME               DATA   AGE
kube-root-ca.crt   1      62d
redis-config       1      8s
[root@master k8sconfigmap]# 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=123456Events:  <none>

2.3 最终的yaml文件

[root@master k8sconfigmap]# vim cm.yaml
[root@master k8sconfigmap]# cat cm.yaml 
apiVersion: v1
kind: Pod
metadata:name: mypod
spec:containers:- name: busyboximage: busyboxcommand: ["/bin/sh","-c","cat /etc/config/redis.properties"]volumeMounts:- name: config-volumemountPath: /etc/configvolumes:- name: config-volumeconfigMap:name: redis-configrestartPolicy: Never
[root@master k8sconfigmap]# kubectl apply -f cm.yaml 
pod/mypod created
[root@master k8sconfigmap]# kubectl get pod
NAME    READY   STATUS      RESTARTS   AGE
mypod   0/1     Completed   0          7s
[root@master k8sconfigmap]# kubectl logs mypod   #查看效果
redis.host=127.0.0.1
redis.port=6379
redis.password=123456

3、以变量形式进行挂载

3.1 创建configmap文件

[root@master k8sconfigmap]# cat config.yaml    ##设置好变量
apiVersion: v1
kind: ConfigMap
metadata:name: myconfignamespace: default
data:special.level: infospecial.type: hello
[root@master k8sconfigmap]# kubectl get configmaps 
kube-root-ca.crt  myconfig          
[root@master k8sconfigmap]# kubectl get configmaps myconfig 
NAME       DATA   AGE
myconfig   2      37s
[root@master k8sconfigmap]# kubectl describe cm myconfig 
Name:         myconfig
Namespace:    default
Labels:       <none>
Annotations:  <none>Data
====
special.level:
----
info
special.type:
----
hello
Events:  <none>

3.2 书写最终yaml文件

[root@master k8sconfigmap]# cat config-var.yaml 
apiVersion: v1
kind: Pod
metadata:name: mypod
spec:containers:- name: busyboximage: busyboxcommand: [ "/bin/sh", "-c", "echo $(LEVEL) $(TYPE)" ]env:- name: LEVELvalueFrom:configMapKeyRef:name: myconfigkey: special.level- name: TYPEvalueFrom:configMapKeyRef:name: myconfigkey: special.typerestartPolicy: Never
[root@master k8sconfigmap]# kubectl get pods
NAME    READY   STATUS      RESTARTS   AGE
mypod   0/1     Completed   0          35s
[root@master k8sconfigmap]# kubectl logs mypod 
info hello
http://www.lryc.cn/news/204517.html

相关文章:

  • QML QTP0001 not set 警告
  • Mac M1编译 swift 5.8.1源码
  • [极客大挑战 2019]EasySQL
  • 统信UOS技术开放日:四大领域全面接入AI大模型能力
  • 【Linux系统编程:信号】产生信号 | 阻塞信号 | 处理信号 | 可重入函数
  • Linux NFS的整体架构与核心代码解析
  • 28、Flink 的SQL之DROP 、ALTER 、INSERT 、ANALYZE 语句
  • 正则表达式[总结]
  • 【docker】搭建xxl-job
  • k8s-----3、kubernetes集群部署(kubeadm部署)
  • 党建展馆vr仿真解说员具有高质量的表现力和互动性
  • Webpack 基础以及常用插件使用方法
  • ROCESS SPID 代表什么进程
  • oracle rac了解
  • 力扣 -- 44. 通配符匹配
  • 电脑msvcp100.dll丢失的解决办法,靠谱的五个解决方法分享
  • HTML+CSS+JS+Django 实现前后端分离的科学计算器、利率计算器(附全部代码在gitcode链接)
  • VS Code C# 开发工具包正式发布
  • 【计算机网络】HTTPS 的加密流程
  • 若依和芋道
  • Linux流量监控
  • 高流量大并发Linux TCP性能调优
  • ATT 格式汇编语言语法
  • Linux系统编程学习 NO.8 ——make和Makefile、进度条程序
  • elementUI 中 date-picker 的使用的坑(vue3)
  • 1-07 React配置postcss-px-to-viewport
  • ITSource 分享 第3期【在线个人网盘】
  • 【C#进阶】C#语法中一些常用知识点总结
  • 加速开发容错量子计算应用!PsiQuantum官宣将在英国干大事
  • 使用canvas做了一个最简单的网页版画板,5分钟学会