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

曰照网站小程序建设如何做简易的网站

曰照网站小程序建设,如何做简易的网站,潍坊网站制作江门公司,哪个网站做演唱会门票Configmap概述 Configmap概述Configmap能解决哪些问题#xff1f;Configmap应用场景局限性 Configmap创建方法命令行直接创建通过文件创建指定目录创建configmap 编写configmap资源清单YAML文件使用Configmap通过环境变量引入#xff1a;使用configMapKeyRef通过环境变量引入… Configmap概述 Configmap概述Configmap能解决哪些问题Configmap应用场景局限性 Configmap创建方法命令行直接创建通过文件创建指定目录创建configmap 编写configmap资源清单YAML文件使用Configmap通过环境变量引入使用configMapKeyRef通过环境变量引入使用envfrom把configmap做成volume挂载到pod Configmap热更新 Configmap概述 Configmap是k8s中的资源对象用于保存非机密性的配置的数据可以用key/value键值对的形式保存也可通过文件的形式保存。 Configmap能解决哪些问题 我们在部署服务的时候每个服务都有自己的配置文件如果一台服务器上部署多个服务nginx、tomcat、apache等那么这些配置都存在这个节点上假如一台服务器不能满足线上高并发的要求需要对服务器扩容扩容之后的服务器还是需要部署多个服务nginx、tomcat、apache新增加的服务器上还是要管理这些服务的配置如果有一个服务出现问题需要修改配置文件每台物理节点上的配置都需要修改这种方式肯定满足不了线上大批量的配置变更要求。 所以k8s中引入了Configmap资源对象可以当成volume挂载到pod中实现统一的配置管理。 Configmap是k8s中的资源 相当于配置文件可以有一个或者多个ConfigmapConfigmap可以做成Volumek8s pod启动之后通过 volume 形式映射到容器内部指定目录上容器中应用程序按照原有方式读取容器特定目录上的配置文件。在容器看来配置文件就像是打包在容器内部特定目录整个过程对应用没有任何侵入。 Configmap应用场景 使用k8s部署应用当你将应用配置写进代码中更新配置时也需要打包镜像configmap可以将配置信息和docker镜像解耦以便实现镜像的可移植性和可复用性因为一个configMap其实就是一系列配置信息的集合可直接注入到Pod中给容器使用。configmap注入方式有两种一种将configMap做为存储卷一种是将configMap通过env中configMapKeyRef注入到容器中。使用微服务架构的话存在多个服务共用配置的情况如果每个服务中单独一份配置的话那么更新配置就很麻烦使用configmap可以友好的进行配置共享。 局限性 ConfigMap在设计上不是用来保存大量数据的。在ConfigMap中保存的数据不可超过1 MiB。如果你需要保存超出此尺寸限制的数据可以考虑挂载存储卷或者使用独立的数据库或者文件服务。 Configmap创建方法 命令行直接创建 直接在命令行中指定configmap参数创建通过–from-literal指定参数 kubectl create configmap tomcat-config --from-literaltomcat_port8080 --from-literalserver_namemyapp.tomcat.comkubectl describe configmap tomcat-config Name: tomcat-config Namespace: default Labels: none Annotations: none Dataserver_name: ---- myapp.tomcat.com tomcat_port: ---- 8080 Events: none通过文件创建 通过指定文件创建一个configmap–from-file文件 vim nginx.confserver {server_name www.nginx.com;listen 80;root /home/nginx/www/ } #定义一个key是www值是nginx.conf中的内容kubectl create configmap www-nginx --from-filewww./nginx.confkubectl describe configmap www-nginx Name: www-nginx Namespace: default Labels: none Annotations: noneDatawww: ---- server {server_name www.nginx.com;listen 80;root /home/nginx/www/ }指定目录创建configmap mkdir test-a cd test-a/cat my-server.cnf server-id1cat my-slave.cnf server-id2指定目录创建configmap kubectl create configmap mysql-config --from-file/root/test-a/查看configmap详细信息 kubectl describe configmap mysql-config Name: mysql-config Namespace: default Labels: none Annotations: none Datamy-server.cnf: ---- server-id1 my-slave.cnf: ---- server-id2 Events: none编写configmap资源清单YAML文件 cat mysql-configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: mysqllabels:app: mysql data:master.cnf: |[mysqld]log-binlog_bin_trust_function_creators1lower_case_table_names1slave.cnf: |[mysqld]super-read-onlylog_bin_trust_function_creators1使用Configmap 通过环境变量引入使用configMapKeyRef 创建一个存储mysql配置的configmap cat mysql-configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: mysqllabels:app: mysql data:log: 1lower: 1kubectl apply -f mysql-configmap.yaml创建pod引用Configmap中的内容 cat mysql-pod.yamlapiVersion: v1 kind: Pod metadata:name: mysql-pod spec:containers:- name: mysqlimage: busyboxcommand: [ /bin/sh, -c, sleep 3600 ]env:- name: log_bin #定义环境变量log_binvalueFrom: configMapKeyRef:name: mysql #指定configmap的名字key: log #指定configmap中的key- name: lower #定义环境变量lowervalueFrom:configMapKeyRef:name: mysqlkey: lowerrestartPolicy: Neverkubectl apply -f mysql-pod.yamlkubectl exec -it mysql-pod -- /bin/sh / # printenv log_bin1 lower1通过环境变量引入使用envfrom cat mysql-pod-envfrom.yaml apiVersion: v1 kind: Pod metadata:name: mysql-pod-envfrom spec:containers:- name: mysqlimage: busyboximagePullPolicy: IfNotPresentcommand: [ /bin/sh, -c, sleep 3600 ]envFrom: - configMapRef:name: mysql #指定configmap的名字restartPolicy: Neverkubectl apply -f mysql-pod-envfrom.yamlkubectl exec -it mysql-pod-envfrom -- /bin/sh / # printenv lower1 log1把configmap做成volume挂载到pod cat mysql-configmap.yaml apiVersion: v1 kind: ConfigMap metadata:name: mysqllabels:app: mysql data:log: 1lower: 1my.cnf: |[mysqld]Welcomehahakubectl apply -f mysql-configmap.yamlcat mysql-pod-volume.yaml apiVersion: v1 kind: Pod metadata:name: mysql-pod-volume spec:containers:- name: mysqlimage: busyboxcommand: [ /bin/sh,-c,sleep 3600 ]volumeMounts:- name: mysql-configmountPath: /tmp/configvolumes:- name: mysql-configconfigMap:name: mysqlrestartPolicy: Neverkubectl apply -f mysql-pod-volume.yamlkubectl exec -it mysql-pod-volume -- /bin/sh / # cd /tmp/config/ /tmp/config # ls log lower my.cnfConfigmap热更新 kubectl edit configmap mysql # 把logs: “1”变成log: “2”kubectl exec -it mysql-pod-volume -- /bin/sh / # cat /tmp/config/log 2发现log值变成了2更新生效了 更新 ConfigMap 后使用该 ConfigMap 挂载的 Env 不会同步更新 使用该 ConfigMap 挂载的 Volume 中的数据需要一段时间实测大概10秒才能同步更新
http://www.zqtcl.cn/news/970609/

相关文章:

  • 做一个中型网站需要多少钱网站建设的费用是不是含税的
  • 网站上的广告是怎么做的连云港 网站 建设
  • 济南做网站的好公司有哪些怎么做自己的app软件
  • 淄博网站建设团队企业门户网站有哪些
  • 东莞网站建设 织梦建设茶叶网站的目的
  • 做网站的背景图片要多大做房产网站
  • 洛阳做网站公司在哪无锡网络营销推广软件
  • 医疗机械网站怎么做无锡短视频seo
  • 做网站建设哪家公司好如何营销推广
  • 陕西百威建设监理有限司网站做吉祥物设计看什么网站
  • 网络营销站点推广的方法高端网站开发价格
  • 内部优惠券网站怎么做最新国际新闻事件今天
  • 辽宁大学网站怎么做app开发用什么编程语言
  • 3d建模在线制作网站阿里云域名注册官网
  • 创建网站大约多少钱网站建设排序题
  • 大庆做网站找谁机构编制网站建设
  • 网站标题特效网站弹出的对话框怎么做
  • 找深圳网站建设wordpress 页面背景
  • 企业网站怎么维护上海注册建网站
  • 四川省建设工程造价信息网站便宜做网站价格
  • 医院网站优化策划网站开发的项目需求
  • 网站优化公司服务直播软件怎么开发
  • 网站建设 有道翻译织梦修改网站后备份
  • 苏州网联盛网站建设做最好的在线看片网站
  • 一个空间怎么放2个网站陕西城乡住房建设部网站
  • 如何购买虚拟主机做网站企业查名
  • 动易网站默认密码网站怎么做 吸引人
  • 站长工具国产2023二级建造师证书查询官方网站
  • 微信小程序联盟网站北京网站建设华大
  • 人事怎么做招聘网站比对分析crm管理系统 一般包含