摘要:前言在集群內(nèi),當(dāng)以形式掛載到內(nèi)時(shí),更新,會(huì)自動(dòng)同步被掛載到內(nèi)的文件內(nèi)容。當(dāng)然并不是更改立即生效的,大約是需要鐘后,才會(huì)生效。今天就給大家介紹一個(gè)組件。當(dāng)然倉(cāng)庫(kù)中已經(jīng)提供了文件,大家可以自己打鏡像,然后到自己的倉(cāng)庫(kù)中。
前言
在kubernetes集群內(nèi),當(dāng)ConfigMap以volume形式掛載到pod內(nèi)時(shí),更新ConfigMap,kubernetes會(huì)自動(dòng)同步被掛載到pod內(nèi)的文件內(nèi)容。當(dāng)然并不是更改立即生效的,大約是需要10S鐘后,才會(huì)生效。實(shí)際生產(chǎn)使用案例中,假如你的應(yīng)用具備hot reload 功能, 這時(shí)可以增加一些監(jiān)測(cè)配置文件變更的腳本,然后reload對(duì)應(yīng)服務(wù)。比如prometheus。今天就給大家介紹一個(gè)configmap-reload 組件。
configmap-reloadconfigmap-reload 采用rust語(yǔ)言實(shí)現(xiàn),作為主業(yè)務(wù)容器的sidercar,主要用于k8s當(dāng)中監(jiān)聽(tīng)configmap的變化,待變化后通過(guò)http接口的方式通知主業(yè)務(wù)。在資源消耗上,更小。具體如下:
[root@ip-172-xx-xx-10 src]# kubectl top pods NAME CPU(cores) MEMORY(bytes) configmap-reload-6bbbb8b45b-7zg2x 0m 1Mi
輸入?yún)?shù)可以通過(guò)configmap-reload -h 獲取:
configmap-reload 0.1.0 gaohjUSAGE: configmap-reload [OPTIONS] FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -l, --log_level log level: error|warn|info|debug|trace [default: info] -p, --path the config map volume directory to watch for updates [default: ] -m, --webhook_method the HTTP method url to use to send the webhook: GET|POST [default: POST] -c, --webhook_status_code the HTTP status code indicating successful triggering of reload [default: 200] -u, --webhook_url the HTTP method url to use to send the webhook [default: ]
示例使用:
--- apiVersion: v1 kind: ConfigMap metadata: labels: app: configmap-reload name: configmap-reload-cm data: test.ini: |- key: a --- kind: Deployment apiVersion: apps/v1 metadata: name: configmap-reload labels: app: configmap-reload spec: replicas: 1 selector: matchLabels: app: configmap-reload template: metadata: labels: app: configmap-reload spec: volumes: - name: config configMap: name: configmap-reload-cm containers: - name: configmap-reload image: "iyacontrol/configmap-reload:v0.1" command: - configmap-reload args: - -l - debug - -p - /etc/test/ - -c - "200" - -u - https://www.baidu.com volumeMounts: - name: config mountPath: /etc/test/ imagePullPolicy: Always ---總結(jié)
大家直接可以拉取 dockerhub 中的鏡像。
當(dāng)然倉(cāng)庫(kù)中已經(jīng)提供了Dockerfile文件,
FROM clux/muslrust:stable as builder WORKDIR /configmap-reload COPY ./ ./ ARG use_mirror RUN if [ $use_mirror ]; then mkdir -p $HOME/.cargo; mv -f ./docker/cargo_config $HOME/.cargo/config; fi RUN cargo build --release ##################################### FROM alpine:latest as prod RUN apk add --no-cache ca-certificates COPY --from=0 /configmap-reload/target/x86_64-unknown-linux-musl/release/configmap-reload /usr/bin/configmap-reload RUN chmod +x /usr/bin/configmap-reload ENTRYPOINT ["configmap-reload"]
大家可以自己打鏡像,然后push到自己的倉(cāng)庫(kù)中。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27717.html
摘要:前言在集群內(nèi),當(dāng)以形式掛載到內(nèi)時(shí),更新,會(huì)自動(dòng)同步被掛載到內(nèi)的文件內(nèi)容。當(dāng)然并不是更改立即生效的,大約是需要鐘后,才會(huì)生效。今天就給大家介紹一個(gè)組件。當(dāng)然倉(cāng)庫(kù)中已經(jīng)提供了文件,大家可以自己打鏡像,然后到自己的倉(cāng)庫(kù)中。 前言 在kubernetes集群內(nèi),當(dāng)ConfigMap以volume形式掛載到pod內(nèi)時(shí),更新ConfigMap,kubernetes會(huì)自動(dòng)同步被掛載到pod內(nèi)的文件內(nèi)...
摘要:前言在集群內(nèi),當(dāng)以形式掛載到內(nèi)時(shí),更新,會(huì)自動(dòng)同步被掛載到內(nèi)的文件內(nèi)容。當(dāng)然并不是更改立即生效的,大約是需要鐘后,才會(huì)生效。今天就給大家介紹一個(gè)組件。當(dāng)然倉(cāng)庫(kù)中已經(jīng)提供了文件,大家可以自己打鏡像,然后到自己的倉(cāng)庫(kù)中。 前言 在kubernetes集群內(nèi),當(dāng)ConfigMap以volume形式掛載到pod內(nèi)時(shí),更新ConfigMap,kubernetes會(huì)自動(dòng)同步被掛載到pod內(nèi)的文件內(nèi)...
摘要:資源用于在運(yùn)行時(shí)將配置文件命令行參數(shù)環(huán)境變量端口號(hào)以及其他配置工件綁定至的容器和系統(tǒng)組件。是標(biāo)準(zhǔn)的資源類(lèi)型,它隸屬名稱空間級(jí)別,支持命令式命令命令式對(duì)象配置及聲明式對(duì)象配置種管理接口。 ConfigMap 和 Secret 是 Kubernetes 系統(tǒng)上兩種特殊類(lèi)型的存儲(chǔ)卷,前者用于為容器中的應(yīng)用提供配置數(shù)據(jù)以定制程序的...
摘要:如果你正在尋找一種部署容器到你的任一環(huán)境中的方法,給你至少個(gè)選擇它的理由。允許你運(yùn)行,以及成功完成一定數(shù)量的。通過(guò)驗(yàn)證我們完成的,上述的情況確認(rèn)不會(huì)發(fā)生。每個(gè)就是幾個(gè)小時(shí)的問(wèn)題,而且由擁有者優(yōu)先化。 對(duì)于Docker編制框架來(lái)說(shuō),Kubernetes 是最強(qiáng)的競(jìng)爭(zhēng)者之一,這在版本1.2之后更是如此。如果你正在尋找一種部署 Docker 容器到你的任一環(huán)境中的方法,Kubernetes給...
摘要:宋體本文從拉勾網(wǎng)的業(yè)務(wù)架構(gòu)日志采集監(jiān)控服務(wù)暴露調(diào)用等方面介紹了其基于的容器化改造實(shí)踐。宋體此外,拉勾網(wǎng)還有一套自研的環(huán)境的業(yè)務(wù)發(fā)布系統(tǒng),不過(guò)這套發(fā)布系統(tǒng)未適配容器環(huán)境。寫(xiě)在前面 拉勾網(wǎng)于 2019 年 3 月份開(kāi)始嘗試將生產(chǎn)環(huán)境的業(yè)務(wù)從 UHost 遷移到 UK8S,截至 2019 年 9 月份,QA 環(huán)境的大部分業(yè)務(wù)模塊已經(jīng)完成容器化改造,生產(chǎn)環(huán)境中,后臺(tái)管理服務(wù)已全部遷移到 UK8...
閱讀 2912·2021-11-25 09:43
閱讀 2338·2021-11-24 09:39
閱讀 2721·2021-09-23 11:51
閱讀 1414·2021-09-07 10:11
閱讀 1458·2019-08-27 10:52
閱讀 1946·2019-08-26 12:13
閱讀 3368·2019-08-26 11:57
閱讀 1405·2019-08-26 11:31