consul的kv使用

官网关于这部分的介绍:https://learn.hashicorp.com/consul/getting-started/kv

consul的kv功能可以用来做动态配置,kv的增加修改删除查询除了可以通过consul客户端,还可以通过http apiconsul的ui,因此不管是集成到程序里,还是在管理界面查看/配置都很方便。

consul客户端

通过consul客户端使用kv功能我不知道有什么实际用途,但是用来初次体验consul的kv还是很方便的,可以通过简单的命令实现kv的增删改查。

首先,consul agent是默认支持kv功能的,不需要特殊配置,只要consul agent运行着,kv功能就可以使用。

新增数据/修改数据

这两个命令是一样的

consul kv put key value

注意:key是可以带path的,像下面这样

带path一方面可以使你的key更加有条理,看着更方便,含义更清晰,另一方面在查询的时候,可以直接查询某个path下的全部配置。

另外可以附带-flags参数,用来为value添加metadata,就是存一些属性信息,这样用起来比普通的kv更加方便。

查询数据

查询单个key命令如下

consul kv get key

例如:

查询指定路径下所有的key

consul kv get -recurse path

path可以不写,不写的话就是查询所有的key

新增/修改数据时可以增加metadata,这个信息可以通过加上-detailed选项获取

删除数据

删除数据命令如下

consul kv delete key

例如: 

 Http API

使用之前需要注意一点,启动consul agent的时候,需要加上-client 0.0.0.0参数,这个的意思就是允许任何ip的机器连接consul,如果不加这个参数,consul默认只有本机可以访问。

查询数据

使用http get,url如下,ip为运行consul agent的机器ip,port默认为8500,可以在启动consul agent的时候通过-http-port选项指定为其他端口,key注意如果有path的话需要带上。

http://ip:port/v1/kv/key

例如: 

注意:value是经过base64编码的,程序里使用http api的话需要对结果中的value进行解码。

新增/修改数据

使用http put,url如下,body中携带value

http://ip:port/v1/kv/key

例如: 

如果需要设置flags,加在query参数中,例如:

删除数据

使用http delete,url如下

http://ip:port/v1/kv/key

例如:

 consul UI

通过consul ui,可以方便的操作kv数据,同样需要注意,启动consul agent的时候,加上-client 0.0.0.0参数,这样才能实现consul跑在服务器上,而通过本机即可访问consul ui。

操作很方便,就不赘述了。

发布了39 篇原创文章 · 获赞 25 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/u013536232/article/details/104188286