关注分享主机优惠活动
国内外VPS云服务器

k8s与configmap--安利configmap-reload组件

摘要:简介 当以更新格式挂载时,集群会自动同步集群上挂载的文件内容。 当然,更改不会立即生效。 需要几分钟才能生效。 今天我将介绍组件。 当然,这些文件在仓库里是可以得到的。 你可以自己镜像,放到自己的仓库里。

简介

在 kubernetes 集群中,当将 ConfigMap 作为卷挂载到 pod 时,ConfigMap 会更新,kubernetes 会自动将其同步到 pod。将安装吊舱。 。 Pod 内的文件内容。 当然,更改不会立即生效。 大约需要 10 秒才能生效。 在实际生产用例中,如果您的应用程序具有热重载功能,您可以添加一个脚本来监视配置文件更改并重新加载相应的服务。 普罗米修斯等 今天我将介绍configmap-reload组件。

configmap-reload

configmap-reload 是用 Rust 语言实现的。 作为主业务容器的 sidecar,主要用在 k8s 中,监控 configmap 的变化,并在变化后传递。 通过http接口通知主要业务。 就资源消耗而言更小。 详细信息如下:

[root@ip-172-xx-xx-10 src]# kubectl top podsNAME CPU(核心)内存(字节)configmap-reload[ k4]6bbbb8b45b -7zg2x 0m 1Mi

输入参数可以通过configmap-reload -h获取:

configmap-reload 0.1.0gaohj 美国GE: configmap-reload [OPTIONS]FLAGS: -h, --help 输出帮助信息。  -V, --version 输出版本信息 选项: -l, - ]-log_level  日志级别: error|warn|info|debug|trace [默认: info] -p, --path  配置映射卷目录以监视更新 [默认值:] -m, --webhook_method  用于发送 HTTP 的 Webhooks URL方法:GET|POST [默认值:POST] -c,--webhook_status_code  HTTP 状态代码,指示成功触发重新加载 [默认值:200] -u,[ k4][k4 ]webhook_url  用于发送 webhook 的 HTTP 方法的 URL[默认:] 

使用示例:

---apiVersion: v1kind: ConfigMapmetadata:labels: app: configmap-reload name: configmap[k4 ]reload-cmdata: test.ini: |- key: a---kind: DeploymentapiVersion: apps/v1metadata: name: configmap-reload label: app: configmap-重新加载规范:副本:1 选择器:matchLabels:应用程序:configmap -重新加载模板:元数据:标签:应用程序:configmap -重新加载规范:卷:-名称:config configMap:名称:configmap -重新加载[k4 ] ]cm 容器:- 名称:configmap-reload 图像:“iyacontrol/configmap-reload:v0.1” 命令:- configmap-reload 参数:- -l [ k4] ] 调试 - -p - /etc/test/ - -c - "200" - -u - https://www.baidu.com volumeMounts: - 名称: config mountPath: / etc/test/ imagePullPolicy: Always---

摘要

您可以直接在 dockerhub 上拉取镜像。

当然是给仓库提供了一个Dockerfile文件。

FROM clux/muslrust:stable as builderWORKDIR /configmap-reloadCOPY ./ ./ARG use_mirrorRUN if [ $use_mirror ]; then mkdir -p $HOME/.cargo - f; ./docker/cargo_config $HOME/.cargo/config; fiRUN Cargo Build --release######################## # ######## 来自 Alpine:作为最新的 prodRUN apk 添加 --no-cache ca-certificates COPY --from=0 /configmap- reload/target /x86_64-未知-linux- musl/release/configmap-重新加载/usr/bin/configmap-reloadRUN chmod +x /usr/bin/configmap-reloadENTRYPOINT ["configmap-reload"]

你可以自己镜像并推送到你的仓库。

未经允许不得转载:主机频道 » k8s与configmap--安利configmap-reload组件

评论 抢沙发

评论前必须登录!