阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

confd和etcd实现配置管理及模板使用

505次阅读
没有评论

共计 2039 个字符,预计需要花费 6 分钟才能阅读完成。

关于 confd 是什么?

confd 是一个可以在 etcd 和 consul 的基础上实现配置管理的工具。etcd 和 consul 在功能上是有些重叠的,所以咱们就拿 etcd 来测试吧。

再简单来描述下 conf,他是可以从 etcd 里面获取 kv 数据,然后通过咱们提前定制的模板,渲染配置文件。。。。然后可以 check_md 和 reload_md

文章本来在 github 看到的,自己又重新加了点料。

https://github.com/kelseyhightower/confd/blob/master/docs/quick-start-guide.md

首先增加 keys 关键字,我这边是测试,所以用的时 etcdctl 客户端,做实际应用还是推荐用 Python 的 etcd 客户端。

etcd 客户端。

Create the confdir

创建配置目录及模板的目录

Python

sudo mkdir -p /etc/confd/{conf.d,templates}

Create a template resource config

文件的后缀要有.toml,这个也算个规范吧。toml 本身也是个配置的数据类型,有点像 configparse 和 yaml 似的。

Python

[template]

src = “https://www.linuxidc.com/Linux/2016-12/myconfig.conf.tmpl”

dest = “/tmp/myconfig.conf”

keys = [

    “/myapp/database/url”,

    “/myapp/database/user”,

]

Create the source template

创建动态的模板,里面需要有可以获取 key 的动态逻辑。

/etc/confd/templates/myconfig.conf.tmpl

Process the template

调用 confd 命令来获取,backend 是指明客户端,下面用的时 etcd

然后执行后的结果是:

那么下载出来的配置文件是这个样子

Advanced Example

Create template resources

/etc/confd/conf.d/myapp-nginx.toml

/etc/confd/conf.d/yourapp-nginx.toml

Create the source template

/etc/confd/templates/nginx.tmpl

confd etcd 是在一个老外的博客看到的,本来也想把地址给贴上来,但是找不到了。

confd 也是个有趣的应用,他其实就是简化了自己关于管理配置和模板开发,但是问题来了,我是个 pythoner 程序员,对于 python 的第三方的模板  jinja2 mako 是相当的熟悉,但是如果学习 confd 的话,我还需要学习 confd 自己特定的语法。这有些不效率了了。

这里再贴下 confd 对于模板渲染的语法,貌似没有 for 这个函数,然后还缺少自定义函数的功能,这个让我很是蛋疼。

exists

如果这个 key 在 etcd 定义了的话?

get

如果这个 key 没有,他不会返回一个 error

Python

{{with get “/key”}}

    key: {{.Key}}

    value: {{.Value}}

{{end}}

gets

Returns all KVPair, []KVPair, where key matches its argument. Returns an error if key is not found.

getv

Returns the value as a string where key matches its argument. Returns an error if key is not found.

Python

value: {{getv “/key”}}

getvs

Returns all values, []string, where key matches its argument. Returns an error if key is not found.

Python

{{range getvs “/*”}}

    value: {{.}}

{{end}}

datetime

Alias for time.Now

Python

# Generated by confd {{datetime}}

Outputs:

Python

# Generated by confd {datetime.Format(“Jan 2, 2006 at 3:04pm (MST)”)}

Outputs:

Python

# Generated by confd Jan 23, 2015 at 1:34pm (EST)

See the time package for more usage: http://golang.org/pkg/time/

split

可以对于一条数据进行自定义切分,splite

json

Returns an map[string]interface{} of the json value.

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-12/137934.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2039字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7997223
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024程序员】我劝你赶紧去免费领一个AWS、华为云等的主机

【1024 程序员】我劝你赶紧去免费领一个 AWS、华为云等的主机 每年 10 月 24 日,程序员们都会迎来...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛NAS硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话?

星哥带你玩飞牛 NAS 硬件 01:捡垃圾的最爱双盘,暴风二期矿渣为何成不老神话? 前言 在选择 NAS 用预...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...