Consul 查询节点
在本章中,我们将学习如何使用以下功能查询节点:
- 使用dig命令
- 使用Monitor命令
- 使用Watch命令
- 通过注册外部服务
让我们详细了解每个功能。
使用Dig命令
Consul在127.0.0.1:8600监听consul中的DNS查询。它确定哪些节点可用于提供服务的方式是使用可以是以下任一检查方式:
- 执行脚本并返回 nagios兼容代码 。
-
返回HTTP响应码的HTTP检查。
-
检查端口是否打开的TCP检查。
尝试使用dig命令的通用命令为: dig 。
$ dig @127.0.0.1 -p <port> <service-name>.consul
现在,让我们试用一个示例 dig 命令 –
$ dig @127.0.0.1 -p 8600 web.service.consul
输出结果如下所示:
使用监控命令
它用于连接和显示运行中的Consul代理的日志。该命令将显示最近的日志。它还允许您以相对较高的日志级别记录代理。它包含各种日志级别,您可以跟踪,如- Trace,Debug,Info,Warn和Err。
让我们尝试以下命令 –
$ consul monitor
输出结果如下所示:
您还可以使用子命令(例如-log-level和-rpc-address)设置监视命令。默认情况下,RPC的地址是127.0.0.1:8400。有关更多信息,请点击这里。
使用观察命令
此命令为我们提供了一种监视节点列表,服务成员,键值等变化的机制。它还调用具有最新视图值的进程。如果未指定进程,则会将当前值处理为 STDOUT ,这可能是检查Consul中的数据的有用方式。Consul Watch Command帮助提供了各种不同的选项,如下图所示−
让我们尝试一个演示,其中 -type = 服务 如下命令所示。
$ consul watch -type = service -service = consul
有关此主题的更多信息,可以单击 这里 。
通过注册外部服务
注册后,DNS接口将能够返回适当的“A记录”或CNAME记录以供服务使用。让我们注册一个外部服务,例如在以下代码块和屏幕截图中显示的Amazon。
$ sudo curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon",
"Address": "www.amazon.com",
"Service": {"Service": "shop", "Port": 80}}'
http://127.0.0.1:8500/v1/catalog/register
上述命令指定了一个名为”shop”的服务。此节点称为”amazon”,其URL可在www.amazon.com上找到,并且使用端口80。让我们在Consul上检查输出,以确保我们已正确安装此服务。为此,请在浏览器窗口中打开localhost:8500。
要删除该服务,我们只需要使用以下命令。
$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "amazon"}'
http://127.0.0.1:8500/v1/catalog/deregister
让我们查看一下界面,如下所示: