K8s configmap Secrets 更新滚动更新pod
K8s configmap Secrets 更新滚动更新pod
-
Reloader
-
patch
一、k8s使用Reloader实现更新configmap后自动重启pod
在日常使用kubernetes过程中,需要经常使用到configMap
或Secret
时,但存在的问题:在更新完configMap
或secret
后,已经启动的pod
无法感知到其变化,不会滚动更新pod
。给人感觉是新配置未生效。
如果业务自身支持 reload
操作,比如 nginx
,那么我们可以使用 inotify
感知到文件更新或者直接定期 reload
(可以配合 readinessProbe
一起使用)。但是如果业务不支持热加载配置,就需要使用到 Kubernetes
自身提供的滚动更新功能了。
由于更新 configmap
或 secret 不会触发 Pod 的滚动更新,所以需要引入一个开源工具 Reloader
,它通过监控 Pod 引用的 configmap
或 secret
资源,如果发现变更,就会自动触发对 Deployment configs、Deployment、Statefulset、Daemonsets 和 Rollouts 等资源的滚动更新。
二、patch
kubectl patch ds filebeat -n pub-system --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20221113" }}}}}'
作者:理想三旬
本人承接各种项目维护和python项目开发, 如果觉得文章写得不错,或者帮助到您了,请点个赞,加个关注哦。运维学习交流群:544692191
本文版权归作者所有,欢迎转载,如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步