Консул - запросы узлов

В этой главе мы узнаем, как запрашивать узлы с помощью следующих функций:

  • Использование dig
  • Использование команды Monitor
  • Использование команды Watch
  • Регистрируя внешние службы

Давайте подробно разберемся с каждой из этих функций.

Использование Dig

Consul прослушивает 127.0.0.1:8600 на предмет запросов DNS в консуле. То, как он определяет, какие узлы доступны для предоставления услуги, использует проверки, которые могут быть:

  • Скрипт, который выполняется и возвращает nagios compliant code.

  • Проверка 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. Для получения дополнительной информации щелкните здесь .

Использование команды Watch

Эта команда предоставляет нам механизм для отслеживания изменений в списке узлов, членов службы, значения ключа и т. Д. Она также вызывает процесс с последними значениями представления. Если процесс не указан, текущие значения обрабатываются в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

Вышеупомянутая команда указывает службу, называемую магазином. Этот узел называется 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

Давайте проверим пользовательский интерфейс, как показано на следующем снимке экрана.