小知识:Kubernetes配置热更新的两种方式

%小知识:Kubernetes配置热更新的两种方式-猿站网-插图

背景

任何应用都需要一些特定的配置项,用来自定义应用的特性。这些配置通常可以分为两类:

一类是诸如运行环境和外部依赖等非敏感配置 一类是诸如密钥和SSH证书等敏感配置。

这些配置不应该直接放到容器镜像中,而是应该配配置与容器分离,通过数据卷、环境变量等方式在运行时动态挂载。

在我们使用Kubernetes的过程中,通常都会将应用的配置文件放到ConfigMap或/和Secret中,但是也经常碰到配置文件更新后如何让其生效的问题。

用户定义Kubernetes的资源对象(例如Deployment、DaemonSet等),配置文件以ConfigMap定义,通过Volumemounts进行挂载到Pod里,配置文件修改以后,服务可以自动reload加载更新配置。

解决方案

Reloader

限制条件:Kubernetes版本在1.9以及以上 集群安装reloader 通过添加注解annotation的方式实现 kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml 

全局ConfigMap触发更新

apiVersion: apps/v1  kind: DaemonSet  metadata:  name: filebeat  namespace: log   labels:  k8s-app: filebeat  annotations:  reloader.stakater.com/auto: “true”

按照指定的ConfigMap变更自动触发资源对象的配置更新

单ConfigMap更新:

apiVersion: apps/v1  kind: DaemonSet  metadata:  name: filebeat  namespace: log   labels:  k8s-app: filebeat  annotations:  configmap.reloader.stakater.com/reload: “filebeat-config”

多ConfigMap,以逗号对多个ConfigMap进行隔离:

apiVersion: apps/v1  kind: DaemonSet  metadata:  name: filebeat  namespace: log   labels:  k8s-app: filebeat  annotations:  configmap.reloader.stakater.com/reload: “filebeat-config,foo-config”

checksum注解

checksum注解是Helm Charts中最常用的滚动更新方法,即在Deployment的annotations中加上Secret或者ConfigMap的sha256sum,这样已有的Pod就会随着Secret或者ConfigMap的变更而更新。

kind: Deployment  spec:  template:  metadata:    annotations:      checksum/config: {{ include (print $.Template.BasePath “/configmap.yaml”) . | sha256sum }}  […] 

添加这一节的效果就是,在/configmap.yaml中有任何内容改变,都会导致Deployment的sepc下的annotation被更新,进而驱动重建Pod,达到我们想要的效果。

原文地址:https://juejin.cn/post/6993128314055426084

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:手把手教你搭建集中式版本控制系统SVN服务器

2023-3-20 13:45:56

建站知识

小知识:Docker如何快速搭建LNMP环境(最新)

2023-3-20 14:00:44

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索