相关文章推荐
读研的人字拖  ·  Java 读取 .properties ...·  4 周前    · 
睡不着的跑步鞋  ·  asp.net core mvc ...·  2 周前    · 
爱旅游的感冒药  ·  验证视图状态 MAC ...·  1 周前    · 
冷静的豌豆  ·  Enews297 教務處 - KMU e-News·  1 年前    · 
激动的烤地瓜  ·  python Qt: main ...·  1 年前    · 
要出家的煎饼果子  ·  exception - ...·  1 年前    · 

修改ConfigMap

ConfigMap配置如图所示:
在这里插入图片描述
在iaas-resource下插入新数据,在bash shell下执行如下命令,插入新数据并立即查看修改结果

x=5;y=6;a="- from: $x\n  to: $y"$(echo -e `kubectl get cm test123 -ojsonpath={.data.iaas-resource}`|sed -e 's/\s*- from/\\n- from/g' -e 's/ to/\\n  to/g')"\n";echo $a;kubectl patch cm test123 --type=json -p="[{\"op\":\"replace\", \"path\":\"/data/iaas-resource\", \"value\":\"$a\"}]";kubectl get cm test123 -ojsonpath={.data.iaas-resource}

分步执行,将上面的shell命令写成shell脚本

#定义变量,传递from和to的值
x=5;
y=6;
#生成patch字段value
a="- from: $x\n  to: $y"$(echo -e `kubectl get cm test123 -ojsonpath={.data.iaas-resource}`|sed -e 's/\s*- from/\\n- from/g' -e 's/ to/\\n  to/g')"\n";
#打印value值,可以观察一下value字符串的格式
echo $a;
#执行patch指令修改ConfigMap
kubectl patch cm test123 --type=json -p="[{\"op\":\"replace\", \"path\":\"/data/iaas-resource\", \"value\":\"$a\"}]";
#打印ComfigMap data.iaas-resource修改后的值
kubectl get cm test123 -ojsonpath={.data.iaas-resource}

修改后结果如下:
在这里插入图片描述

yaml语法之|、-、+

+表示保留文字块末尾的换行,-表示删除字符串末尾的换行,| 默认保留文字块末尾的换行
在这里插入图片描述

一、增加配置add kubectl patch pod xxx -n xxxxx -p=’[{“op”:“add”,“path”:"/a/b/c",“value”:jsonObject}]’ 二、修改配置replace kubectl patch pod xxx -n xxxxx -p=’[{“op”:“replace”,“path”:"/a/b/c",“value”:jsonObject}]’ 三、删除配置remove kubectl patch pod xxx -n xxxxx -p=’[{“op”:“ 通过指定文件创建,即将一个配置文件创建为一个ConfigMap,通过直接在命令行中指定configmap参数创建,即。如果修改了value, 那么容器内部会不会更新?2.验证对应的pod里的变化,一段时间后会改变(1.编辑修改对应的configmap。通过一个文件内多个键值对, 定义: Configmapk8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。作用: 我们在部署服务的时候,每个服务都有自己的配置文件,如果一台服务器上部署多个服务:nginx、tomcat、apache。... ConfigMap API 资源将配置数据存储为键值对。 数据可以在 Pod 中使用,也可以用来提供系统组件(如控制器)的配置。 ConfigMap 与 Secret 类似, 但是提供的是一种处理不含敏感信息的字符串的方法。 用户和系统组件都可以在 ConfigMap 中存储配置数据。... Kubernetes中的ConfigMap是用于保存配置数据的键值对,其值可用来存放单个属性值,也可用来存放配置文件,用法相对比较灵活,其中所有内存都将存储在etcd中。ConfigMap与Secret很像,但它更方便处理不包含敏感信息的字符串。 在Kubernetes中常见的使用场景有: 生成为容器内的环境变量,在Pod中可以通过spec.env或者spec.envFrom. 1.管理一组key/value的键值对,可以作为配置文件注入到pod中 2.允许文件镜像分离,使容器化的应用的程序具有可移植性 3.内建机制,将configmap存储在etcd中,通过Volume的方式变成pod中的配置文件 4.倘若发生pod的迁移(主动或被动),configmap中的参数都会自动映射到对应的pod中 5.如果已创建的configmap中发生key/value的修正,则映射到pod中的”配置文件“也会发生相应的修改 创建configmap的方 I am using the following command to create a configMap.kubectl create configmap test --from-file=./application.properties --from-file=./mongo.properties --from-file=./logback.xmlNow, I have modified a... configmapConfigmapk8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value键值对的形式保存,也可通过文件的形式保存。我们在部署服务的时候,每个服务都有自己的配置文件,如果一台服务器上部署多个服务:nginx、tomcat、apache 等,那么这些配置都存在这个节点上,假如一台服务器不能满足线上高并发的要求,需要对服务器扩容,扩容之后的服务器还是需要部署多个服务:nginx、tomcat、apache,新增加的服务器上还是要管理这些服务的配置,如果有一个服务出现 ConfigMap是一种API对象,用来将非加密数据保存到键值对中,如etcd中。 可以用作环境变量、命令行参数或者存储卷中的配置文件。 ConfigMap可以将 环境变量 配置信息和容器镜像解耦,便于应用配置的修改。 如果需要存储加密信息时可以使用Secret对象。 二.创建ConfigMap 1.创建方式: ConfigMap 是一种 API 对象,用来将非机密性的数据保存到键值对中。使用时, Pods 可以将其用作环境变量、命令行参数或者存储卷中的配置文件。ConfigMap 将你的环境配置信息和 容器镜像 解耦,便于应用配置的修改ConfigMap中的数据是明文保存的。 ConfigMap是API对象,用于存放明文(非机密性)数据保存到键值对中,可以使用环境变量、命令行参数或者存储卷方式应用到Pod中,ConfigMap相当于Pod中程序的配置文件,通过修改ConfigMap内容来修改程序的配置。 YAML是一种直观的能够被电脑识别的的数据序列化格式,容易被人类阅读,并且容易和脚本语言交互。YAML类似于XML,但是语法比XML简单得多,对于转化成数组或可以hash的数据时是很简单有效的。 一、PyYaml 1、load() :返回一个对象 我们先创建一个yml文件,config.yml:name: Tom Smith age: 37 spouse: name: Jane Smi