Kubernetes基础:ConfigMap:卷挂载方式的热更新
发布日期:2021-06-30 20:16:24
浏览次数:2
分类:技术文章
本文共 3985 字,大约阅读时间需要 13 分钟。
在Kubernetes中使用ConfigMap的卷挂载方式时,一旦ConfigMap有更新,由于此ConfigMap和Pod进行了关联,Kubelet在进行Pod同步时会将所关联的卷标记为RequireRemount(需要重新挂载)的卷,而热更新最大的时间延迟则来源于这个同步的间隔,这篇文章将结合具体示例进行简要说明。
Kubelet的同步时间间隔
设定参数:sync-frequency
缺省设定值:在1.17中缺省设定为1m0s,所以最大同步间隔为1分钟,之所以说最大,因为更新的时间点距其即将开始的同步的时间可能不同。
- 确认方法 如果显示的修改了sync-frequency选项的设定,使用systemctl status kubelet -l即可看到参数的设定值 如果未修改,则可到kubelet的日志中去确认(kubelet.INFO链接所指向的文件),执行示例如下所示:
[root@host131 kubernetes]# view kubelet.INFO ...省略I0103 06:12:22.070503 9724 flags.go:33] FLAG: --sync-frequency="1m0s"I0103 06:12:22.070505 9724 flags.go:33] FLAG: --system-cgroups=""I0103 06:12:22.070507 9724 flags.go:33] FLAG: --system-reserved=""I0103 06:12:22.070509 9724 flags.go:33] FLAG: --system-reserved-cgroup=""I0103 06:12:22.070510 9724 flags.go:33] FLAG: --tls-cert-file=""I0103 06:12:22.070512 9724 flags.go:33] FLAG: --tls-cipher-suites="[]"I0103 06:12:22.070515 9724 flags.go:33] FLAG: --tls-min-version=""I0103 06:12:22.070517 9724 flags.go:33] FLAG: --tls-private-key-file=""I0103 06:12:22.070519 9724 flags.go:33] FLAG: --topology-manager-policy="none"I0103 06:12:22.070521 9724 flags.go:33] FLAG: --v="2"I0103 06:12:22.070523 9724 flags.go:33] FLAG: --version="false"I0103 06:12:22.070530 9724 flags.go:33] FLAG: --vmodule=""I0103 06:12:22.070533 9724 flags.go:33] FLAG: --volume-plugin-dir="/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"I0103 06:12:22.070536 9724 flags.go:33] FLAG: --volume-stats-agg-period="1m0s"I0103 06:12:22.070578 9724 feature_gate.go:243] feature gates: &{map[]}
ConfigMap准备
[root@host131 configmap]# cat user.yml apiVersion: v1kind: ConfigMapmetadata: name: user-configmap namespace: defaultdata: user.name: liumiaocn user.id: '1001'[root@host131 configmap]# [root@host131 configmap]# kubectl create -f user.yml configmap/user-configmap created[root@host131 configmap]# [root@host131 configmap]# kubectl get cmNAME DATA AGEuser-configmap 2 4s[root@host131 configmap]#
挂载至pod的卷中
[root@host131 configmap]# cat busybox-pod-volume.yaml apiVersion: v1kind: Podmetadata: name: configmap-test-pod-volumespec: containers: - name: busybox-container image: busybox:latest command: ["sleep", "1000"] volumeMounts: - name: user-config-volume mountPath: /etc/user-config volumes: - name: user-config-volume configMap: name: user-configmap restartPolicy: Never[root@host131 configmap]# [root@host131 configmap]# kubectl create -f busybox-pod-volume.yaml pod/configmap-test-pod-volume created[root@host131 configmap]# [root@host131 configmap]# kubectl get podsNAME READY STATUS RESTARTS AGEconfigmap-test-pod-volume 1/1 Running 0 5s[root@host131 configmap]#
当前值确认
[root@host131 configmap]# kubectl exec configmap-test-pod-volume cat /etc/user-config/user.name /etc/user-config/user.idliumiaocn1001[root@host131 configmap]# [root@host131 configmap]#
修改ConfigMap的值
[root@host131 configmap]# kubectl edit cm user-configmapconfigmap/user-configmap edited[root@host131 configmap]#
user.id修改为1002,user.name修改为michael
[root@host131 configmap]# kubectl describe cm user-configmapName: user-configmapNamespace: defaultLabels:Annotations: Data====user.id:----1002user.name:----miachelEvents: [root@host131 configmap]#
结果确认
[root@host131 configmap]# i=0; while [ $i -lt 20 ]; > do> sleep 3> kubectl exec configmap-test-pod-volume cat /etc/user-config/user.name /etc/user-config/user.id> echo [$i]> i=`expr $i + 1`> doneliumiaocn1001[0]liumiaocn1001[1]liumiaocn1001[2]liumiaocn1001[3]liumiaocn1001[4]liumiaocn1001[5]liumiaocn1001[6]liumiaocn1001[7]liumiaocn1001[8]liumiaocn1001[9]liumiaocn1001[10]liumiaocn1001[11]liumiaocn1001[12]liumiaocn1001[13]liumiaocn1001[14]liumiaocn1001[15]liumiaocn1001[16]liumiaocn1001[17]miachel1002[18]miachel1002[19][root@host131 configmap]# ...
由于执行的时间点的不同对于结果的显示会有较大的区别,多试几次可能会有较大不同,可以结合缩短sync-frequency的设定来进行结果确认。
转载地址:https://liumiaocn.blog.csdn.net/article/details/103814040 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月14日 08时04分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HDU - 5643 King's Game (约瑟夫环变式)
2019-04-30
UVA - 1452 Jump (约瑟夫环变式)
2019-04-30
POJ - 3517 And Then There Was One (约瑟夫环变式)
2019-04-30
HDU - 2068 RPG的错排 (错排+组合数)
2019-04-30
CodeForces 591C Median Smoothing(思维 模拟)
2019-04-30
升级yosemite后java出错的解决
2019-04-30
mac || Linux 命令行下实现批量重命名
2019-04-30
java常用类 String面试题
2019-04-30
Windows10下的powershell美化教程
2019-04-30
利用ffmpeg合并音频和视频
2019-04-30
刷好老毛子系统进不了老毛子系统后台的解决办法
2019-04-30
Parallels Desktop 16 不能联网的解决办法
2019-04-30
SLAM中TUM数据集更改图片名字
2019-04-30
手把手教你--jquery chosen插件的使用和API(html下拉框美化)
2019-04-30
手把手教你--JAVA微信支付(H5支付)
2019-04-30
solr修改schema文件(solr修改配置文件)
2019-04-30
Bootstrap datetimepicker日期时间插件使用方法(日期时间选择器)
2019-04-30