2.9.26.6.3 Consul
Архитектура Consul
Установка
Настройка конфигурации Consul
Запуск сервера
Веб-интерфейс
Окружение
- Версия ОС: 7.3
- Конфигурация ОС: Рабочая станция, Сервер графический
- Редакция ОС: Стандартная
- Архитектура: x86_64
- Версия ПО: consul-1.22.2-1
Consul — это сетевое решение для обнаружения и настройки различных приложений, которое решает проблемы с безопасным подключением, связанные с использованием микро-сервисов и облачной инфраструктуры. Основные сценарии использования включают обнаружение служб и управление конфигурацией.
Consul предлагает программный подход к маршрутизации и сегментации и даёт дополнительные преимущества, такие как обработка сбоев, повторные попытки и возможность наблюдения за сетью. Каждую из этих функций можно использовать по отдельности по мере необходимости или их можно использовать вместе для построения полнофункциональной сети.
Consul предназначен для работы в кластере узлов. Узел может быть физическим сервером, облачным экземпляром, виртуальной машиной или контейнером.
К основным возможностям Consul относятся:
-
внешний доступ к сервисам,
-
реестр всех сервисов,
-
DNS для обнаружения сервисов,
-
безопасная связь между сервисами,
-
управление конфигурациями,
-
мониторинг работоспособности.
Архитектура Consul
Consul построен на распределенной системе агентов, где каждый узел кластера выполняет определенную роль:
1. Агент:
-
фоновый демон, работающий на каждом узле;
-
запускается вместе с сервисом Consul;
-
режимы работы:
-
клиент — перенаправляет RPC-запросы на сервер (минимальная нагрузка);
-
сервер — участвует в управлении кластером (требует ресурсов).
-
-
функциональность:
-
предоставляет DNS/HTTP API-интерфейсы;
-
выполняет health-проверки сервисов;
-
синхронизирует данные о состоянии системы.
-
2. Сервер:
-
управление кворумом;
-
хранение и репликация состояния кластера;
-
обработка RPC-запросов;
-
маршрутизация трафика между DC.
3. Центр обработки данных:
-
логическая группа узлов Consul;
-
поддерживает два типа узлов:
-
серверные (3-5 узлов для отказоустойчивости);
-
клиентские (все остальные узлы).
-
Агент, работающий на каждом узле, отвечает за проверку работоспособности служб на узле и сам узел.
Небольшие кластеры подходят для большинства начальных производственных развертываний или для сред разработки и тестирования, большие кластеры — для производственных сред с постоянной высокой рабочей нагрузкой.
Развертывание одного сервера не рекомендуется (в случае сбоя потеря данных неизбежна). Рекомендуется разворачивать от 3 до 5 серверов в кластере Consul, поскольку эта архитектура может выдержать потерю узлов внутри кластера или потерю всей зоны доступности. Совместно серверы запускают согласованное хранилище состояний.
Установка
Для установки программы через терминал выполните следующую команду (потребуются права администратора):
sudo dnf install consul
Для проверки выполните команду:
consul version
Настройка конфигурации Consul
Для работы Consul требуются директории для конфигурационных файлов и данных.
Создайте директории и назначьте права:
sudo mkdir -p /etc/consul.d/ /opt/consul/ sudo chown -R $USER:$USER /etc/consul.d/ /opt/consul/
Создайте конфигурационный файл, если файла еще нет:
nano /etc/consul.d/consul.hcl
Приведите параметры к следующему виду:
datacenter = "dc1" data_dir = "/opt/consul" server = true bootstrap_expect = 1 ui = true bind_addr = "192.168.100.176" client_addr = "0.0.0.0" log_level = "DEBUG"
где 192.168.100.176 замените на IP-адрес основного сетевого интерфейса.
Сохраните файл, нажав Ctrl + S, затем Ctrl + X.
Проверьте корректность конфигурационного файла:
consul validate /etc/consul.d/consul.hcl
Сообщение Configuration is valid! подтверждает, что конфигурационный файл синтаксически верен и готов к запуску.
Запуск сервера
Запустите агент в режиме сервера в фоне с логированием:
nohup consul agent -config-file=/etc/consul.d/consul.hcl -dev > /opt/consul/consul.log 2>&1 &
Сервер будет работать в фоне, и все логи будут сохраняться в файл /opt/consul/consul.log.
Чтобы проверить, что сервер запущен, используйте команду:
ps aux | grep consul
Для остановки сервера выполните:
pkill consul
Для просмотра журнала в реальном времени используйте команду:
tail -f /opt/consul/consul.log
Веб-интерфейс
Откройте браузер и перейдите по адресу: http://localhost:8500.

Более подробная информация о работе Consul доступна на официальном сайте.
Дата последнего изменения: 30.03.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.