Consul系列:Consul Agent用法介绍(一)

Registering Services from agent

一个服务可以通过提供两种方式来注册服务:

  • service definition:JSON 格式,常见的定义方式.
  • HTTP API

service definition

此种方式,我们需要事先创建一个目录用于存储服务定义文件,consule 启动加载配置目录中的所有配置文件。在 Unix 系统上,一个常见约定是将目录命名为 /etc/consul.d。

创建配置目录

# mkdir /etc/consul.d
  • 定义服务
# echo '{"service": {"name": "i4-jrocket2", "tags": ["i4-docker"], "port": 8080}}' | sudo tee /etc/consul.d/i4-jrocket2.json
  • 启动 consul
# consul agent -dev -config-dir=/etc/consul.d -bind=192.168.104.2 -client=192.168.104.2

Querying Services

  • DNS 接口查询
# dig @192.168.104.2 -p 8600 i4-jrocket2.service.consul SRV | sed -n '/;; ANSWER/ {N;N;N;N;p}';; 

ANSWER SECTION: 
i4-jrocket2.service.consul. 0 IN SRV 1 1 8080 i4-jrocket2-104-02-1.node.dc1.consul. ;; ADDITIONAL SECTION: 
i4-jrocket2-104-02-1.node.dc1.consul. 0 IN A 192.168.104.2
  • HTTP API 接口查询
# curl http://192.168.104.2:8500/v1/catalog/service/i4-jrocket2

[{

    "Node": "i4-jrocket2-104-02-1",
    "Address": "192.168.104.2",
    "TaggedAddresses": {
        "lan": "192.168.104.2",
        "wan": "192.168.104.2"
    },
    "ServiceID": "i4-jrocket2",
    "ServiceName": "i4-jrocket2",
    "ServiceTags": [
        "i4-docker"
    ],
    "ServiceAddress": "",
    "ServicePort": 8080,
    "ServiceEnableTagOverride": false,
    "CreateIndex": 6,
    "ModifyIndex": 6
}]

Updating Services from agent

可以通过更改配置文件并向 agent 发送 SIGHUP 来更新服务定义。 这允许您更新服务,而不会出现任何停机或不可用的服务查询。或者,HTTP API 可用于动态添加,删除 和修改服务。

#注册更新
curl -X PUT -d '{"Datacenter": "dc1", "Node": "s2", "Address": "10.120.184.216", "Service": {"Service": "uniqush", "tags": ["test","to test2connect"], "Port": 30121}}' http://127.0.0.1:8500/v1/catalog/register

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值