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

中国深圳航空公司官方网站软装设计素材网站

中国深圳航空公司官方网站,软装设计素材网站,wordpress手机端边侧航栏,开发微信公众号公司ConfigMap 一、概念 在K8S中#xff0c;ConfigMap是一种用于存储配置数据的API对象#xff0c;一般用于存储Pod中应用所需的一些配置信息#xff0c;或者环境变量。将配置于 Pod 分开#xff0c;避免应为修改配置导致还需要重新构建 镜像与容器。 二、创建 可以使用 ku…ConfigMap 一、概念 在K8S中ConfigMap是一种用于存储配置数据的API对象一般用于存储Pod中应用所需的一些配置信息或者环境变量。将配置于 Pod 分开避免应为修改配置导致还需要重新构建 镜像与容器。 二、创建 可以使用 kubectl create configmap -h 查看示例 2.1、基于目录创建 # configmap 可以简写成cm kubectl create configmap config名称 --from-file./test2.2、获取配置信息 # 查看有哪些configMap kubectl get cm# 具体查看某个configMap的内容 kubectl describe config名称 2.3、基于文件创建 # 后面可以是相对路径也可以是绝对路径 kubectl create cm cm名称 --from-file/data/k8s/configMap/test/appcation.yaml# 重命名一个新的文件 kubectl create cm cm名称 --from-file重命名一个文件名/data/k8s/configMap/test/appcation.yaml2.4、基于键值对创建 kubectl create cm test-key-value-config --from-literalusernameroot --from-literalpassword123456三、使用配置 3.1、使用键值对配置 创建一个pod的配置文件 apiVersion: v1 kind: Pod metadata:name: test-keyvalue-cm-po spec:containers:- name: env-rootimage: alpinecommand: [/bin/sh, -c , env;sleep 3600] # 打印环境变量imagePullPolicy: IfNotPresentenv:- name: namevalueFrom:configMapKeyRef:name: test-key-value-config #configMap的名称key: username #指定的那个config中key为username的- name: passwordvalueFrom:configMapKeyRef:name: test-key-value-configkey: passwordrestartPolicy: Never通过日志查看环境变量 kubectl logs -f test-keyvalue-cm-po3.2、挂在文件路径 apiVersion: v1 kind: Pod metadata:name: test-files-cm-po spec:containers:- name: env-rootimage: alpinecommand: [/bin/sh, -c , env;sleep 3600]imagePullPolicy: IfNotPresentvolumeMounts: # 加载数据卷- name: redis-configmountPath: /usr/local/redisrestartPolicy: Nevervolumes:- name: redis-config #数据卷的名称configMap:name: test-dir-config #configMap中的名称items: #加载test-dir-config中的其中某些项不指定就是全部- key: redis.config # configMap中的keypath: redis.conf # 子路径地址可以将key转化为文件 四、subPath subPath 的作用是允许在容器内部选择性的挂载Volume中的特定文件或者目录而不是将整个Volume挂载到容器中。 4.1、准备工作创建cm configMap里 nginx-html 和 nginx-config 提前创建好的 nginx-html 下有两个文件一个是test.html和index.html nginx-config下面有一个文件nginx.conf 4.2、文件夹全覆盖文件单覆盖 apiVersion: v1 kind: Pod metadata:name: nginx-pod spec:containers:- name: nginx-containerimage: nginxvolumeMounts:- name: htmlmountPath: /usr/share/nginx/html/index.htmlsubPath: index.html- name: confmountPath: /etc/nginx/nginx.confsubPath: nginx.confvolumes:- name: htmlconfigMap:name: nginx-htmlitems:- key: index.htmlpath: index.html- name: confconfigMap:name: nginx-config 将整个html文件覆盖到nginx的容器里nginx.conf只覆盖容器中的nginx.conf文件 如果conf没加上subPath的话容器中/etc/nginx/就会只剩下nginx.conf文件 4.3、指定文件夹中某文件覆盖 只覆盖html文件夹中index.html到容器中的index.html apiVersion: v1 kind: Pod metadata:name: nginx-pod spec:containers:- name: nginx-containerimage: nginxvolumeMounts:- name: htmlmountPath: /usr/share/nginx/html/index.htmlsubPath: index.html #需要和items[0].path值对应上 且要被mountPath包含volumes:- name: htmlconfigMap:name: nginx-htmlitems:- key: index.htmlpath: index.html 4.4、总结 subPath一定要被volumeMounts中的mountPath包含如果configMap下指定了items下面的path一定要和volumeMounts下的subPath对应上 五、配置的热更新 在使用configMap挂载到pod后有时需要修改配置并且更新到 pod中。 而有些场景下是Pod是不会更新配置的 1、使用subPath 2、变量的形式如果 pod 中的一个变量是从 configmap 或 secret 中得到同样也是不会更新的。 对于 subPath 的方式我们可以取消 subPath 的使用将配置文件挂载到一个不存在的目录避免目录的覆盖然后再利用软连接的形式将该文件链接到目标位置 但是如果目标位置原本就有文件可能无法创建软链接此时可以基于前面讲过的 postStart 操作执行删除命令将默认的文件删除即可 5.1、edit修改configMap kubectl edit cm spring-boot-test-yaml5.2、通过 replace 替换 # (--dry-runclient -o yaml | kubectl replace -f -) 是固定格式 kubectl create cm cm名称 --from-file./test --dry-runclient -o yaml | kubectl replace -f -–dry-run 参数该参数的意思打印 yaml 文件但不会将该文件发送给 apiserver再结合 -oyaml 输出 yaml 文件就可以得到一个配置好但是没有发给 apiserver 的文件然后再结合 replace 监听控制台输出得到 yaml 数据即可实现替换 kubectl create cm --from-filenginx.conf --dry-run -oyaml | kubectl replace -f- 六、配置文件不可变 遇到禁止配置文件修改可以直接修改cm的信息添加immutable: true即可例如 apiVersion: v1 data:appcation.yaml: |...配置文件信息 kind: ConfigMap metadata:creationTimestamp: 2023-10-18T13:16:22Zname: spring-boot-test-yamlnamespace: defaultresourceVersion: 558771uid: ba7d135f-7aff-4005-8360-5eba74bc7d31# 加上这列 immutable: true加上immutable: true后当再次修改这个配置文件时就会提示报错 # * data: Forbidden: field is immutable when immutable is set
http://www.hkea.cn/news/14470480/

相关文章:

  • 南京做网站南京乐识好半厘米wordpress
  • 网站建设天乐大厦wordpress小型商城
  • html做网站需要服务器吗西安网站建设麦欧科技
  • 网站建设项目描述范文翻译网站模板
  • wordpress网站关闭做淘宝客网站需要什么
  • 新网站一般建设空间大小传奇 网游
  • 网站建设设计维片房产网站建设方案项目书
  • 北京定制网站公司wordpress空两格
  • 装修设计网站有哪些石家庄做网站好的公司推荐
  • 芜湖营销网站建设买域名做网站表白
  • 山东省品牌建设促进会网站北京网站建设怎么样天
  • 免费的seo网站膝最具有口碑的网站建设
  • 大型自助建站平台wordpress淘宝客2016
  • 高端公司网站建设高清视频线转换线
  • 旅游示范校建设专题网站河南省住房建设厅官方网站
  • 泰安市网站建设公司翻页大图网站
  • 苏州网站建设苏州企业网站建设的征求意见
  • 自己做的网站别人查看网站优化人员通常会将目标关键词放在网站首页中的
  • 12306网站是哪个公司做的太原做网站的公司
  • 专业设计网站公司wordpress 输入ftp
  • 比较好的网站建设品牌升级网站功能与建设特色
  • 龙港哪里有做阿里巴巴网站惠州水口网站建设
  • 网站开发与维护工资增城定制型网站建设
  • 网站引导页psdwordpress自建全屏页面
  • 手机怎么做网站教程微商城 分销平台
  • 网站开发 原理古典风网站
  • 做优惠券网站需要淘宝哪些接口chatgpt openai
  • 做网站用什么编程软件巨人网络公司简介
  • 南昌网站建设报价单网站开通申请
  • 免费素材视频网站微信自己怎么弄小程序