- Consul 教程
- Consul - 首页
- Consul - 简介
- Consul - 架构
- Consul - 安装
- Consul - 使用微服务
- Consul - 引导和DNS
- Consul - 查询节点
- Consul - 故障转移事件
- Consul - 使用UI
- Consul - 在AWS上使用Consul
- Consul 有用资源
- Consul - 快速指南
- Consul - 有用资源
- Consul - 讨论
Consul - 查询节点
本章我们将学习如何使用以下函数查询节点:
- 使用dig
- 使用Monitor命令
- 使用Watch命令
- 通过注册外部服务
让我们详细了解每个函数。
使用Dig
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
输出将如以下屏幕截图所示。
使用Monitor命令
它用于连接并显示正在运行的Consul代理的日志。此命令将显示最近的日志。它还允许您以相对较高的日志级别记录代理。它包含各种日志级别,您可以按照这些级别进行操作,例如:跟踪、调试、信息、警告和错误。
让我们尝试以下命令:
$ consul monitor
输出将如以下屏幕截图所示。
您还可以使用子命令(例如 -log-level 和 -rpc-address)设置monitor命令。默认情况下,RPC 的地址为 127.0.0.1:8400。更多信息,请点击这里。
使用Watch命令
此命令为我们提供了一种机制来监视节点列表、服务成员、键值等的变化。它还会使用视图的最新值调用进程。如果未指定进程,则将当前值处理到**STDOUT**,这是一种检查Consul中数据的有用方法。Consul Watch命令帮助包含各种不同的选项,如以下屏幕截图所示:
让我们尝试使用**-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,如以下屏幕截图所示。