Использование интерфейса Consul DNS

DNS-интерфейс Consul поможет вам достичь обнаружения услуг без какой-либо личной интеграции с консулом. Порт по умолчанию для прослушивания DNS-сервера в consul agent — порт 8600. Обычно мы делаем HTTP-запрос API для поиска имени, но здесь мы можем использовать DNS-сервер напрямую, как service.us-east. Важно настроить некоторые детали, например client_addr, ports.DNS, рекурсоры, домен и, dns_config.

Предварительные требования

  1. Экземпляр виртуального сервера
  2. Consul, установленный на сервер
  3. Пользователь root

Система обновлений

Мы рекомендуем вам обновить все доступные пакеты и репозитории перед выполнение любой новой операции. Выполните следующую команду, и она сделает всю работу за вас. В Linux

apt-get update
В RHEL/CentOS yum -y update

Поиск узлов

Вы можете запрашивать любые записи DNS, такие как адреса хостов, почтовые обмены и серверы имен, в командной строке с помощью инструмента dig. Вы можете получить адрес любого узла, сделав простой запрос. .node [.datacenter]. Предположим, что есть узел с именем prome в центре обработки данных dc1, тогда вы можете найти этот узел, используя следующую команду.

prome.node.dc1.consul

Если в случае, если узел работает в том же центре обработки данных, что и агент консула, вам не нужно указывать центр обработки данных. вы можете найти этот узел, используя следующую команду.

prome.node.consul

Службы поиска

Поиск услуги — это запрос для получения информации о поставщике услуг. Формат стандартного поиска службы следующий: [tag.] .service [.datacenter]. Тег не является обязательным в приведенной выше команде. Предположим, вы хотите найти службу с именем prome в локальном центре обработки данных, тогда вам также не нужно указывать центр обработки данных.

prome.service.consul

Тег также можно использовать для фильтрации результатов запроса. Предположим, вы хотите найти первичный MariaDB в определенном центре обработки данных, а затем используйте следующую команду.

primary.mariadb.service.dc5.consul

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

В этом руководстве мы увидим различные способы использования интерфейса Consul DNS. В основном существует 3 способа использования Consul DNS: 1. Использование настраиваемой библиотеки преобразователя DNS 2. Назначение Consul в качестве DNS-сервера для экземпляра 3. Перенаправление запросов для Consul TLD с DNS-сервера

настраиваемая библиотека преобразователя DNS

Одним из способов использования интерфейса consul DNS является использование библиотеки преобразователя DNS для выбранного вами языка, и ваш код будет запрашивать интерфейс напрямую. Примените собственную логику к своему коду, иначе вы будете ограничены IP-адресом службы. В противном случае, если вы используете интерфейс DNS, вам нужно будет запустить службу на определенном порту, и ваш клиент также должен знать этот порт для доступа к нему..

Назначьте Consul в качестве DNS-сервера для экземпляра

Вы можете использовать DNS-сервер consul для узла, настроив хост для доставки DNS-запросов непосредственно местному консулу DNS-сервер агента. Для этого вам нужно будет изменить и систему, и конфигурацию Consul agent.

Во-первых, вам нужно будет изменить конфигурацию системы. Вам нужно будет изменить файл resolv.conf в системе с помощью любого текстового редактора. Здесь мы используем текстовый редактор nano.

nano resolv.conf

Файл должен выглядеть так:

search YourDomain.com
nameserver 127.0.0.1

Пожалуйста, не забудьте заменить YourDomain.com своим реальным доменом .

Далее конфигурация вашего агента консула должна выглядеть так:

{
«датацентр»: «dc1»,
«каталог_данных»: «/var/consul»,
«рекурсоры»: [«8.8.8.8»],
«порты»: {
«dns» : 53
},
«retry_join»: [«35.75.10.85», «35.75.10.111», «35.75.10.123»]
}

Агент Consul продолжит иметь возможность работать с записями для записей вне TLD консула, даже если кластер серверов не работает или недоступен.

Перенаправлять запросы для TLD Consul от DNS-сервер

Вы можете использовать consul DNS для пересылки всех запросов агенту consul с существующего DNS-сервера. Мы рекомендуем вам использовать различные серверы BIND и запускать consul agent локально на всех серверах BIND. Таким образом, всякий раз, когда запрос принимается сервером BIND, он автоматически отправляется на его DNS-сервер консула.

Заключение

В этом руководстве вы узнали, как использовать интерфейс Consul DNS в вашем consul-кластере. Вы также научились использовать такие типы запросов, как поиск узлов и поиск служб.

Оцените статью
nanomode.ru
Добавить комментарий