当前位置:网站首页>confd
confd
2020-11-06 22:33:00 【waynehu】
confd
{{/*
Use lsdir Method , Read ( It can be said that )/services/web A subdirectory under a directory , That is to return to cust1 and cust2 these two items. .
And start a big cycle , The first 1 Secondary cycle ,$dir be equal to cust1 , The first 2 Secondary cycle ,$dir be equal to cust2
*/}}
{{range $dir := lsdir "/services/web"}}
upstream {{base $dir}} {
{{/*
Use printf Method , Compose a string ,%s Some of them use $dir To replace .
The new string after composition is assigned to $custdir, The first time should be "/services/web/cust1/*"
Use gets lookup key by "/services/web/cust1/*" Value , Because it's used *, Multiple values will be found , So we use gets instead of get
Each value goes into a small loop , And use json To analyze ( Note here etcdctl put In the value, Must conform to json Format , Otherwise, parsing will fail here )
Copy the parsed content to $data, Then it can be used
*/}}
{{$custdir := printf "/services/web/%s/*" $dir}}{{range gets $custdir}}
server {{$data := json .Value}}{{$data.IP}}:{{$data.PORT}};
{{end}}
}
server {
server_name {{base $dir}}.example.com;
location / {
proxy_pass {{base $dir}};
}
}
{{end}}
./etcdctl put /services/web/cust1/1 '{"IP": "10.0.0.1","PORT":"81"}'
./etcdctl put /services/web/cust1/2 '{"IP": "10.0.0.2","PORT":"82"}'
./etcdctl put /services/web/cust1/3 '{"IP": "10.0.0.3","PORT":"83"}'
./etcdctl put /services/web/cust2/1 '{"IP": "10.0.0.4","PORT":"84"}'
./etcdctl put /services/web/cust2/2 '{"IP": "10.0.0.5","PORT":"85"}'
./etcdctl put /services/web/cust2/3 '{"IP": "10.0.0.6","PORT":"86"}'
https://github.com/kelseyhightower/confd/blob/master/docs/templates.md
版权声明
本文为[waynehu]所创,转载请带上原文链接,感谢
边栏推荐
- 条形码识别性能低,如何优化Dynamsoft Barcode Reader解码性能
- LEADTOOLS如何检测,读取和写入条形码
- Event monitoring problem
- Nodejs中使用jsonwebtoken(JWT)生成token的场景使用
- Git SSH bad permissions
- FreeSWITCH视频会议“标准”解决方案
- 关于DevOps的七大误解,99%的人都曾中过招!
- ImageMagick - add watermark
- Two dimensional code location and alarm system of Expressway
- Practice of Xiaoxiong school development board: real equipment access of smart street lamp sandbox experiment
猜你喜欢
How to write plug-in code of small program mall system? How to use code to check whether the plug-in is successfully added?
磁存储芯片STT-MRAM的特点
Nanjing logo design and production, guide VI system design
The method of local search port number occupation in Windows system
LEADTOOLS如何检测,读取和写入条形码
Empty test suite appears in JUnit test
In 2020, how can wechat seal numbers be quickly lifted?
关于DevOps的七大误解,99%的人都曾中过招!
NAND FLASH的接口控制设计
迅为iMX6开发板-设备树内核-menuconfig的使用
随机推荐
How to manage the authority of database account?
非易失性MRAM存储器应用于各级高速缓存
消防器材RFID固定资产管理系统
Web API interface design: swaggerui document / unified response format / unified exception handling / unified authority verification
What are the highlights of Huawei mate 40 series with HMS?
南京标识标牌设计制作,导视VI系统设计
Mobile pixel adaptation scheme
How to start the hidden preferences in coda 2 on the terminal?
应用层软件开发教父教你如何重构,资深程序员必备专业技能
FreeSWITCH视频会议“标准”解决方案
The use of Xunwei imx6 development board device tree kernel menuconfig
Zhou Jie: database system of East China Normal University
小熊派开发板实践:智慧路灯沙箱实验之真实设备接入
How to add modules to nginx image?
轻量型 GPU 应用首选 京东智联云推出 NVIDIA vGPU 实例
Plug in bilibilibili new version 0.5.5
How does varhart xgantt represent working days on a calendar
上海巨微专用蓝牙广播芯片
Benefits and functions of auto maintenance app development
RFID fixed assets management system for fire equipment