当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- Bluetooth broadcast chip for Shanghai giant micro
- 2020-08-20: the difference between go and python?
- Stm32f030c6t6 compatible to replace mm32spin05pf
- vue3 新特性
- Js字符串-String字符串对象方法
- The use of Xunwei imx6 development board device tree kernel menuconfig
- 条形码识别器Dynamsoft Barcode Reader v7.5全新上线!
- 应用层软件开发教父教你如何重构,资深程序员必备专业技能
- NAND FLASH的接口控制设计
- 大佬们如何在nginx镜像里面增加模块?
猜你喜欢
插件Bilibili新版0.5.5
How to make characters move
实验一
JS string - string string object method
Git SSH bad permissions
Utility class functions (continuous update)
Git remote library rollback specified version
Application layer software development Godfather teaches you how to refactor, senior programmers must professional skills
The advantages and functions of psychological counseling app
Dynamsoft barcode reader v7.5!
随机推荐
2020-08-14:数据任务的执行引擎用的哪些?
Jenkins installation and deployment process
南京标志设计,logo设计公司
20 XR projects roadshows, nearly 20 capital institutions attended! We sincerely invite you to attend the 2020 qcomm XR eco Partner Conference
甘特图对活动进行分组教程
2020-09-04: do you understand the function call convention?
Common syntax corresponding table of mongodb and SQL
Exclusive interview of guests at | 2020 PostgreSQL Asia Conference: Wang Tao
Mobile pixel adaptation scheme
实验一
The advantages and functions of psychological counseling app
Stickinengine architecture 11 message queue
September 3, 2020: naked writing algorithm: loop matrix traversal.
Common mathematical basic formulas of recursive and backtracking algorithms
Stm32f030f4p6 compatible with smart micro mm32f031f4p6
Nodejs中使用jsonwebtoken(JWT)生成token的场景使用
Message queue - Analysis
ado.net and asp.net The relationship between
Introduction to the development of small game cloud
RFID fixed assets management system for fire equipment