1. Плоскость управления: Он содержит реестр деталей всех запущенных служб и различных политик, которые обрабатывают трафик. Плоскость управления должна быть масштабируемой, чтобы обрабатывать тысячи экземпляров и обновлять плоскость данных. 2. Плоскость данных: Он в основном отвечает за передачу данных между сервисами. Он должен быть высокопроизводительным и интегрированным с плоскостью управления.
Предварительное условие
- Новый сервер виртуального экземпляра
- Консул установлен на сервере
- Если у вас не установлен Consul, узнайте здесь
Создание определения службы
Вы можете создать сервис с помощью любого текстового редактора. Здесь мы используем текстовый редактор nano. Вы можете создать файл конфигурации веб-службы, используя следующую команду. нано / tmp / consul_services / web.json Конфигурация веб-службы будет выглядеть примерно так:
"Сервисы":[
"name": "serviceA",
«порт»: 5000,
"проверять":
"аргументы": [
"завиток",
"localhost: 5000"
],
«интервал»: «3 с»
,
"name": "serviceB",
«порт»: 8000,
"проверять":
"аргументы": [
"завиток",
"localhost: 8000"
],
«интервал»: «3 с»
]
Консул Коннект
Consul Connect - это новая функция в consul, которая обеспечивает более безопасную передачу данных от службы к службе с помощью шифрования TLS и авторизации на основе личности. Он прост в использовании и удобен. Вы можете легко включить его с помощью всего одной опции конфигурации. А для существующих приложений нужно добавить всего одну строчку в конфигурацию сервиса.
В consul с подключением появилось много новых функций. Приступим к обсуждению некоторых из них:
- Собственная интеграция: Вы можете изначально интегрировать конфиденциальные приложения с API-интерфейсами consul connect для создания подключений без прокси.
- Управление сертификатами: Consul генерирует и распространяет сертификаты с помощью поставщика центра сертификации.
- Зашифрованный трафик: Consul Connect использует шифрование TLS для защиты передаваемых данных. Таким образом, вы также можете развертывать сервисы в средах с низким уровнем доверия.
- Прокси-кареты: Вы можете использовать прокси-серверы для автоматического создания входящих и исходящих TLS-соединений.
Прокси Sidecars
Мы знаем, что можем использовать сайдкары прокси для создания входящих и исходящих соединений. Здесь мы увидим пример использования прокси sidecars. Добавление одной строки в конфигурацию службы позволит этой службе получать соединение на основе подключения. Строка должна начинаться с connect следующим образом:
"услуга":
"имя": "MySQL",
«порт»: 3306,
"connect": "прокси":
Вы можете увидеть в приведенной выше конфигурации, добавив всего одну строку в конфигурацию, которая автоматически создаст консула для запуска и управления процессом прокси для этой службы. Вы можете добавить дополнительную строку конфигурации в блок подключения для связи с другими службами. Например, если эта служба хочет взаимодействовать со службой db через соединение, конфигурация будет такой:
"услуга":"имя": "MySQL",
«порт»: 3306,
"соединять":
"прокси":
"config":
"upstreams": [
"destination_name": "db",
"local_bind_port": 9191
]
Вся передача между службой mysql и службой db будет полностью защищена и зашифрована. Вы также можете видеть, что добавление подключения в конфигурацию не приводит к изменению предыдущей службы mysql. Таким образом, любое существующее приложение также включает соединение на основе подключения, добавляя только одну строку в конфигурации.
Веб интерфейс
Откройте свой любимый веб-браузер и перейдите по адресу http: // YourDomain.com: 8500 для доступа к панели управления консула. Отсюда вы можете управлять всеми своими услугами, узлами и намерениями. Вы можете контролировать доступ между сервисами на вкладке Intention на панели инструментов.
Намерение - это политика, определяющая правило взаимодействия между службами. Вы также можете создать новые намерения, чтобы разрешить или запретить доступ между любой исходной службой и целевой службой.
Вы можете увидеть список всех сервисов на вкладке сервиса на панели управления.
Заключение
В этом руководстве вы узнали, как установить Consul на свой сервер и использовать сервисную сетку consul для связи между сервисами.