Учебники

Консул — Установка

В демонстрационных целях мы будем использовать консул агента в режиме разработчика, используя режим -dev. Просто для настройки локальной машины, мы собираемся выполнить настройку единого системного консула. Пожалуйста, не используйте этот консольный кластер в вашем производстве . Как уже упоминалось в Hashicorp в случае сценария с одним узлом консольного кластера, потеря данных неизбежна .

Установка Консул

Консул можно установить на странице загрузок по адресу www.consul.io/downloads.html.

Установка Консул

Вы можете извлечь двоичный пакет в разделе загрузок на вашем компьютере.

$ cd Downloads
$ chmod +x consul
$ sudo mv consul /usr/bin/

Теперь давайте начнем использовать консул, используя флаг -dev .

$ consul agent -dev -data-dir=/tmp/consul

Вывод будет таким, как показано на следующем скриншоте.

Dev Flag

Теперь вы можете проверить членов консула, используя следующую команду.

$ consul members

Вывод будет таким, как показано на следующем скриншоте.

члены Ассоциации

Если вы хотите присоединить другие узлы к этому узлу —

$ consul join <Node 2> <Node 3>

Кроме того, вы можете выполнить следующую команду на узлах 2 и 3 —

$ consul join <Node 1>

Использование командной строки

Командная строка консула состоит из нескольких различных опций, некоторые из наиболее часто используемых следующие:

  • агент — который управляет агентом консула.

  • configtest — для проверки файла конфигурации.

  • событие — запустить новое событие.

  • exec — выполнить команду на узлах Consul.

  • принудительный выход — вынуждает члена кластера покинуть кластер.

  • info — предоставляет нам отладочную информацию для операторов.

  • присоединиться — чтобы агент Консул присоединился к кластеру.

  • keygen — для генерации нового ключа шифрования.

  • keyring — для управления ключами шифрования сплетни.

  • kv — для взаимодействия с хранилищем ключ-значение.

  • уйти — покинуть консул кластера и закрыть его без силы.

  • lock — выполнить команду для удержания блокировки.

  • maint — для управления узлом или режимом обслуживания сервиса.

  • члены — это список членов кластера Консул.

  • монитор — это потоковые журналы от агента Консул.

  • оператор — он предоставляет нам набор инструментов для операторов Консул.

  • reload — запускает агент для перезагрузки файлов конфигурации.

  • RTT — оценивает время прохождения сети между узлами.

  • снимок — сохраняет, восстанавливает и проверяет снимки состояния сервера Consul.

  • версия — распечатать текущую версию Консула.

  • следить — следить за изменениями в консуле.

агент — который управляет агентом консула.

configtest — для проверки файла конфигурации.

событие — запустить новое событие.

exec — выполнить команду на узлах Consul.

принудительный выход — вынуждает члена кластера покинуть кластер.

info — предоставляет нам отладочную информацию для операторов.

присоединиться — чтобы агент Консул присоединился к кластеру.

keygen — для генерации нового ключа шифрования.

keyring — для управления ключами шифрования сплетни.

kv — для взаимодействия с хранилищем ключ-значение.

уйти — покинуть консул кластера и закрыть его без силы.

lock — выполнить команду для удержания блокировки.

maint — для управления узлом или режимом обслуживания сервиса.

члены — это список членов кластера Консул.

монитор — это потоковые журналы от агента Консул.

оператор — он предоставляет нам набор инструментов для операторов Консул.

reload — запускает агент для перезагрузки файлов конфигурации.

RTT — оценивает время прохождения сети между узлами.

снимок — сохраняет, восстанавливает и проверяет снимки состояния сервера Consul.

версия — распечатать текущую версию Консула.

следить — следить за изменениями в консуле.

Консул Шаблон

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

Шаблон консула должен быть сформирован в /tmp/<name-of-file>.conf.tmpfl . Язык, на котором написан шаблон в соответствии с Hashicorp Configuration Language (HCL).

Вы можете скачать шаблон консула с этой страницы .

шаблон

Попробуйте это с помощью следующей команды —

$ ./consul-template -h

Вывод будет таким, как показано на следующем скриншоте.

Вывод шаблона

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

$ chmod +x consul-template
$ sudo mv consul-template /usr/share/bin/

В демонстрационных целях мы будем использовать пример конфигурации nginx, которая будет использоваться в качестве нашего сервиса. Вы можете попробовать больше демонстраций по адресу https://github.com/hashicorp/consul-template/tree/master/examples или лучше написать свой собственный шаблон.

$ vim /tmp/nginx.conf.ctmpl

Вывод будет таким, как показано на следующем скриншоте.

Nginx

Файл конфигурации может выглядеть так:

{{range services}} {{$name := .Name}} {{$service := service .Name}}

upstream {{$name}} {
   zone upstream-{{$name}} 64k;
   {{range $service}}server {{.Address}}:{{.Port}} max_fails = 3 fail_timeout = 60
   weight = 1;
   {{else}}server 127.0.0.1:65535; # force a 502{{end}}
} {{end}}

server {
   listen 80 default_server;
   location / {
      root /usr/share/nginx/html/;
      index index.html;
   }
   location /stub_status {
      stub_status;
   }
   {{range services}} {{$name := .Name}}
   location /{{$name}} {
      proxy_pass http://{{$name}};
   }
   {{end}}
}

Теперь, используя двоичный файл шаблона консула, выполните следующие команды:

$ consul-template \
 -template = "/tmp/nginx.conf.ctmpl:/etc/nginx/conf.d/default.conf"

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

$ cat /etc/nginx/conf.d/default.conf

Вывод будет таким, как показано на следующем скриншоте.