【K8s】专题五(5):Kubernetes 配置之热更新工具 Reloader

以下内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发!欢迎扫码关注个人公众号!

公众号二维码


目录

一、基本介绍

二、工作原理

三、部署方法

四、使用方法


一、基本介绍

Reloader 是一个用于 Kubernetes 的工具,能够监听 Kubernetes 中 ConfigMap 和 Secret 的变化,并通过自动触发 Deployment、StatefulSet、Daemonset 等对象重启,实现应用程序配置的热更新(重新加载)。


二、工作原理
  • 监听配置:Reloader 会监听指定 ConfigMap 或 Secret 的配置文件
  • 触发事件:当检测到配置文件内容发生变化时,Reloader 会触发一个事件
  • 重新加载:Reloader 向控制器发送信号,请求重启 Deployment、StatefulSet、Daemonset 等对象


三、部署方法

1、资源清单

# reloader.yaml
## 定义 RBAC 对象
apiVersion: v1
kind: ServiceAccount
metadata:name: reloader---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:name: reloader-role
rules:- apiGroups:- ""resources:- secrets- configmapsverbs:- list- get- watch- apiGroups:- "apps"resources:- deployments- daemonsets- statefulsetsverbs:- list- get- update- patch- apiGroups:- "extensions"resources:- deployments- daemonsetsverbs:- list- get- update- patch- apiGroups:- ""resources:- eventsverbs:- create- patch---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:name: reloader-rolebinding
roleRef:apiGroup: rbac.authorization.k8s.iokind: Rolename: reloader-role
subjects:- kind: ServiceAccountname: reloader## 定义 Deployment 对象
---
apiVersion: apps/v1
kind: Deployment
metadata:name: reloader
spec:replicas: 1revisionHistoryLimit: 10strategy:type: RollingUpdaterollingUpdate:maxSurge: 25%maxUnavailable: 25%selector:matchLabels:app: reloadertemplate:metadata:labels:app: reloaderspec:containers:- name: reloaderimage: stakater/reloader:v1.0.12imagePullPolicy: IfNotPresentports:- name: httpcontainerPort: 9090env:- name: KUBERNETES_NAMESPACEvalueFrom:fieldRef:fieldPath: metadata.namespacestartupProbe:httpGet:path: /metricsport: httpinitialDelaySeconds: 5periodSeconds: 5timeoutSeconds: 5successThreshold: 1failureThreshold: 10readinessProbe:httpGet:path: /metricsport: httpinitialDelaySeconds: 5periodSeconds: 5timeoutSeconds: 5successThreshold: 1failureThreshold: 5livenessProbe:httpGet:path: /liveport: httpinitialDelaySeconds: 5periodSeconds: 5timeoutSeconds: 5successThreshold: 1failureThreshold: 5resources:limits:cpu: 200mmemory: 200Mirequests:cpu: 20mmemory: 20MirestartPolicy: AlwayssecurityContext: runAsNonRoot: truerunAsUser: 65534serviceAccountName: reloader

2、部署命令

kubectl apply -f reloader.yaml


四、使用方法

在 Deployment、StatefulSet、DaemonSet 等对象的资源清单中,添加相应的 Annotation 注解即可,示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:nanme: demo-deploymentannotations:reloader.stakater.com/auto: "true"
...🔔 reloader.stakater.com/auto: "true":对所有 ConfigMap 和 Secret 对象生效
🔔 configmap.reloader.stakater.com/reload: "demo1,demo2,...":对指定的 ConfigMap 对象生效
🔔 secret.reloader.stakater.com/reload: "demo1,demo2,...":对指定的 Secret 对象生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/30846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数学物理专题复习

1.(上册)Page 2-2-10:2.3.3 三维射线方程(即从Fermat 原理出 发导出三维射线追踪方程,用变分方法) 射线方程为: x x ( τ ) xx(\tau) xx(τ),则 d s ∣ x ˙ ( τ ) ∣ d τ ds|…

系统安全!

(脆弱性)是对信息系统弱点的总称,是风险分析中最重要的环节信息系统安全风险评估是信息安全保障体系建立过程中重要的评价方法和决策机制信息系统安全管理按照“三同步”原则,既同步设计、同步建设、同步运行业务连续性管理是一个…

clickhouse学习笔记(四)库、表、分区相关DDL操作

目录 一、数据库操作 1、创建数据库 2、查询及选择数据库 3、删除数据库 二、数据表操作 1、创建表 2、删除表 3、基本操作 ①追加新字段 ②修改字段类型或默认值 ③修改字段注释 ④删除已有字段 ⑤移动数据表(重命名) ⑥清空表 三、默认值…

位运算定义以及几种常见的位运算符。

位运算(Bit Manipulation)是直接在整数的二进制位上进行的操作。这些操作包括设置、清除、切换、检查、移动和比较二进制位。位运算在计算机科学中非常重要,因为它们通常比算术运算更快,且对于内存和硬件级别的操作非常有用。 以…

双层循环和循环语句

echo 打印 echo -n 表示不换行输出 echo -e 表示输出转义字符 echo \b 相当于退格键(backspace) echo \n 换行,相当于回车 echo \f 换行,换行后的新行的开头连着上一行的行尾 echo \t 相当于tab健 (…

华测监测预警系统2.2 UserEdit.aspx SQL注入致RCE漏洞复现(CVE-2023-5827)

0x01 产品简介 华测监测预警系统2.2是一套针对地质灾害监测预警的科学、完善平台,实现了地质灾害防治管理的科学化、信息化、标准化和可视化。该系统由上海华测导航技术有限公司开发,主要服务于山体滑坡、地裂缝等地质灾害的自动化预警。 0x02 漏洞概述 华测监测预警系统2…

AIGC工具的使用测评

一、引言 随着人工智能技术的飞速发展,AIGC(Artificial Intelligence Generated Content)工具作为生成式人工智能的重要应用之一,受到了广泛关注。本次测评旨在详细评估AIGC工具的功能、性能、使用体验及其在实际应用中的效果&am…

【Android】Android 项目里面为啥有两个地方设置Gradle

问题描述 通常,在项目的根目录下的 build.gradle 文件中配置。例如: buildscript {repositories {google()jcenter()}dependencies {classpath com.android.tools.build:gradle:3.1.3} }然后还有在位于项目根目录下的 gradle/wrapper/gradle-wrapper.p…

【IDEA】扩大虚拟机栈空间操作

输入命令参数-Xss 要更改的空间大小

宝塔板面有哪些优势

哈喽呀,大家好呀,淼淼又来和大家见面啦,在当今数字化时代,随着云计算和互联网技术的飞速发展,服务器管理成为了许多企业和个人开发者不可或缺的一部分。然而,传统服务器管理方式的复杂性和技术门槛往往令初…

查询mysql库表的几个语句

1、查询某个数据库的所有表 SELECTtable_name FROMinformation_schema.TABLES WHEREtable_schema database_namedatabase_name替换成你需要查询的数据库名称 2、查询某张表的所有字段名称 SELECTCOLUMN_NAME,column_comment FROMinformation_schema.COLUMNS WHEREtable…

Power BI 时间智能函数

一、基础知识 1,环比:MOM (Month over Month ) (当前月金额- 上月金额)/上月金额*100 2,同比:YOY (Year over Year ) (当前月金额- 上一年金额)/上一年金额*100 3,年…

华为HCIP Datacom H12-821 卷8

1.单选题 下面哪种属性必须存在于 BGP 的 Update 报文中? A、AS-PATH B、LOCAL-PREF C、MED D、PrefVal 正确答案: A 解析: 公认必须遵循(Well-knownmandatory):所有BGP设备都可以识别此类属性,且必须存在于Update报文中。如果缺少这类属性,路由信息就会出错。 BGP公认…

LeetCode 1164, 125, 94

目录 1164. 指定日期的产品价格题目链接表要求知识点思路代码 125. 验证回文串题目链接标签简单版思路代码 复杂版思路代码 94. 二叉树的中序遍历题目链接标签递归思路代码 迭代思路代码 1164. 指定日期的产品价格 题目链接 1164. 指定日期的产品价格 表 表Products的字段为…

AI 编译器技术分享会:上海交大/中科院计算所/微软亚研/智源,他们来了!

4 场 Meetup、3 个城市、19 位嘉宾、1k 行业从业者、累计 100w 曝光, 2023 年 AI 编译器社区小小刷新了一下存在感,我们在非常细分的领域里找到了最为垂直的开发者和工程师,从 0 到 1 建立起一个个小据点,搭建交流平台、促成企内合…

MySQL功能测试-之应用工程

MySQL功能测试-之应用工程 前言pom.xmlapplication.yml 文件common.vo 包ResultVO config 包properties 包DruidConfigPropertyDruidMonitorProperty AutoFillMetaObjectHandlerDruidConfigFluxConfigurationMyBatisPlusConfig controller 包ClientControllerDruidControllerWe…

操作系统之如何使用C语言完成SFJ和SRTJ,并完成他的甘特图

目录 前言 SFJ SRTJ 结束语 前言 不知不觉已经写博客一个月了,前段时间因为学业上的一些原因咕咕咕了,今天我又回来了。今天我给大家带来的是C语言代码完成的SFJ和SRTJ,并且带大家描述他的甘特图。如果有对SFJ和SRTJ不了解的小伙伴可以翻…

Flink Sql Redis Connector

经常做开发的小伙伴肯定知道用flink连接redis的时候比较麻烦,更麻烦的是解析redis数据,如果rdis可以普通数据库那样用flink sql连接并且数据可以像表格那样展示出来就会非常方便。 历时多天,我终于把flink sql redis connector写出来了&…

【C语言】手写学生管理系统丨附源码+教程

最近感觉大家好多在忙C语言课设~ 我来贡献一下,如果对你有帮助的话谢谢大家的点赞收藏喔! 1. 项目分析 小白的神级项目,99%的程序员,都做过这个项目! 掌握这个项目,就基本掌握 C 语言了! 跳…

idea http client GET 请求 报503错误

idea 提供的 http client 插件,在 GET 请求时总是 报503 的错误,但请求URL可以在浏览器中正常访问。 GET localhost:8080/student Response file saved. > 2024-06-20T160906.503.html 有一种原因跟本地配置的代理有关,如下图。如果在…