Consul – 查询节点

Consul – 查询节点


在本章中,我们将学习如何使用以下函数查询节点 –

  • 使用挖掘
  • 使用监视器命令
  • 使用监视命令
  • 通过注册外部服务

让我们详细了解这些功能中的每一个。

使用挖掘

Consul 在 127.0.0.1:8600 上侦听 consul 中的 DNS 查询。它确定哪些节点可用于提供服务的方式是使用检查,可以是 –

  • 执行并返回符合 nagios 的代码的脚本

  • 返回 HTTP 响应代码的 HTTP 检查。

  • 检查端口是否打开的 TCP 检查。

尝试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 = service的演示,如以下命令所示。

$ 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

删除服务

让我们检查它的 UI,如下面的屏幕截图所示。

删除服务

觉得文章有用?

点个广告表达一下你的爱意吧 !😁