datacenters

{{datacenters}} 数据中心

file

{{file "/path/to/local/file"}} 读取本地文件的内容。如果不可读的话,会报错

key

{{key "service/redis/maxconns@east-aws"}} 读取consul的键的值。如果key不能转为字符串,则报错。

上面的命令读取的是east-aws这个数据中心的 service/redis/maxconns键的值

{{key "service/redis/maxconns"}} 如果省略数据中心,默认查本地的数据中心

key_or_default

{{key_or_default "service/redis/maxconns@east-aws" "5"}} 如果指定的key不存在,则使用默认值

ls

{{range ls "service/redis@east-aws"}}

{{.Key}} {{.Value}}{{end}}

查询指定前缀的顶层key和value(同上文,key value转换失败,会报错) 结果

minconns 2

maxconns 12

node

{{node "node1"}} 查询单节点

{{node}} 没有参数 返回当前的agent的node

{{node "node1" "@east-aws"}} 指定数据中心的节点

{{with node}}{{.Node.Node}} ({{.Node.Address}}){{range .Services}}

{{.Service}} {{.Port}} ({{.Tags | join ","}}){{end}}

{{end}}

指定的节点存在返回节点的相应信息,如果节点不存在,返回nil

nodes

{{nodes}} 所有的节点

{{nodes "@east-aws"}} 指定数据中心的所有节点

service

{{service "release.web@east-aws"}} 指定数据中心的web服务的健康情况

{{range service "web@datacenter"}}

server {{.Name}} {{.Address}}:{{.Port}}{{end}}

返回结果

server nyc_web_01 123.456.789.10:8080

server nyc_web_02 456.789.101.213:8080

默认情况下 ,只有健康的服务会被返回。

如果想返回全部的服务 可以用这个

{{service "web" "any"}}

下面是查询指定服务状态的服务

{{service "web" "passing, warning"}}

注意条件是或 而不是和。 返回passing或者waring状态的服务。 注意 ,不能和any一起使用。因为any是返回所有的,不用过滤。一起用的话会报错。

如果想自定义过滤,可以这么搞:

{{range service "web" "any"}}

{{if eq .Status "critical"}}

// Critical state!{{end}}

{{if eq .Status "passing"}}

// Ok{{end}}

维护模式

!/bin/sh

set -e

consul maint -enable -service web -reason "Consul Template updated"

service nginx reload

consul maint -disable -service web

执行时,设为维护模式,然后再恢复

如果你没有装consul agent可以用api

!/bin/sh

set -e

curl -X PUT "http://$CONSUL_HTTP_ADDR/v1/agent/service/maintenance/web?enable=true&reason=Consul+Template+Updated"

service nginx reload

curl -X PUT "http://$CONSUL_HTTP_ADDR/v1/agent/service/maintenance/web?enable=false"

services

{{services}} 全部服务

{{services "@east-aws"}}指定中西的服务

{{range services}}

{{.Name}}

{{range .Tags}}

{{.}}{{end}}

{{end}}

取出 所有服务的名称,tags

tree

{{range tree "service/redis@east-aws"}}
{{.Key}} {{.Value}}{{end}}

取出所有指定中心的key和value 。报错的话,看看key和value是否不符合规则。


consul 模板配置内容的参数说明的更多相关文章

  1. consul模板配置参数值示例

    参看https://github.com/hashicorp/consul-template#examples // This is the address of the Consul agent. ...

  2. node 渲染html模板配置

    node 渲染html模板配置 安装swig模块 npm install swig--save - dev 加载swig模块 var swig = require('swig'); 模板配置 //第一 ...

  3. 手动刷新客户端配置内容(Spring Cloud Config)

    手动刷新客户端配置内容 客户端项目增加依赖项 <dependency> <groupId>org.springframework.boot</groupId> &l ...

  4. smarty模板配置代码详细说明及如何注册自己的smarty函数

    下面为smarty模板的配置文件,smarty配置的详细说明以及如何注册自己所需要的smarty函数 config.inc.php <?php /** * Smarty 调用 * www.daf ...

  5. 修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

    1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接 ...

  6. consul模板的说明2

    保证模板的正常执行 使用||true $ consul-template -template "in.ctmpl:out.file:service nginx restart || true ...

  7. spring 部分配置内容备忘

    1.spring定时器简单配置: <bean name="taskJob" class="com.netcloud.mail.util.TaskJob"& ...

  8. EditPlus自动补全、模板配置

    EditPlus真的是一款非常好用的编辑器,虽然小,但是短小精悍,速度快.只要配置好了,功能也是很强大的.下面来总结一下如何配置EditPlus的自动补全,和模板配置. 一.配置自动补全:(以开发CS ...

  9. 微服务配置内容《网上copy》=========》如何创建一个高可用的服务注册中心

    前言:首先要知道什么是一个高可用的服务注册中心,基于spring boot建成的服务注册中心是一个单节点的服务注册中心,这样一旦发生了故障,那么整个服务就会瘫痪,所以我们需要一个高可用的服务注册中心, ...

随机推荐

  1. python之面向对象编程

    1.面向对象介绍: 世界万物,皆可分类 世界万物,皆为对象 只要是对象,就肯定属于某种类 只要是对象,就肯定有属性 2. 面向对象的几个特性: class类: 一个类即对一类拥有相同属性的对象的抽象, ...

  2. jqgrid笔记

    //重置列表请求url var url = "url?name="+name; $(grid_list_selector).jqGrid('setGridParam',{url:u ...

  3. 基于DevExpress ImageSlider实现图片轮播效果

    工具:DevExpress版本为15.2.7 1.控件类型全称:DevExpress.XtraEditors.Controls.ImageSlider 2.控件所在程序集:DevExpress.Xtr ...

  4. csuoj 1394: Virus Replication

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1394 1394: Virus Replication Time Limit: 1 Sec  Mem ...

  5. node.js表单——formidable/////z

    node.js表单--formidable   node处理表单请求,需要用到formidable包.安装formidable包的命令如下: npm install formidable 安装pack ...

  6. 通什翡翠商城大站协议邮件群发系统日发20-30万封不打码不换ip不需发件箱100%进收件箱

    用一种新的技术思维去群发邮件一种不用换IP,不需要任何发件箱的邮件群发方式一种不需要验证码,不需要**代码变量的邮件群发方式即使需要验证码也能全自动识别验证码的超级智能软件教你最核心的邮件群发思维和软 ...

  7. Mac下好用的编辑器VIM GUI版本 VimR 推荐

    vim号称是编辑器之神,轮其功能和扩展性的确少有编辑器能比,但是大多数编辑器都有的文件浏览功能它确没有,虽然有些插件可以实现,但用起来都不是很方便,偶然发现了一个GUI版本的VIM,与普通的GUI版本 ...

  8. iOS tableView 滚动后回到顶部

    - (void)scrollViewDidScroll:(UIScrollView *)scrollView { CGPoint contentOffsetPoint = self.tableView ...

  9. make命令以及makefile

    make命令以及makefile使用RCS与CVS进行源代码控制编写手册页使用patch与tar发布软件开发环境 多源代码的问题 当我们编写小程序时,许多人都是简单的在编辑后通过重新编译所有的文件重新 ...

  10. ffmpeg编译参数详解

    Usage: configure [options]用 法:configure [选项]Options: [defaults in brackets after descriptions]选   项: ...