Предварительное условие
- Сервер виртуального экземпляра
- Пользователь root
- Консул установлен на сервере
Система обновлений
Мы рекомендуем вам обновить все пакеты и репозитории перед установкой любого нового пакета в системе. Выполните следующую команду, и она сделает всю работу за вас.
apt-get updateУстановить шаблон Consul
В этом руководстве мы предполагаем, что вы уже установили consul на сервере, а также создали кластер consul. Теперь мы будем устанавливать и использовать шаблон консула, но для использования шаблона консула должен быть запущен агент консула. Шаблон consul по умолчанию не добавляется в пакет consul server, нам нужно будет загрузить его и установить отдельно. Для этого вам нужно будет загрузить последнюю версию двоичного файла шаблона consul с официальной веб-страницы загрузки. Выполните следующую команду, и она сделает всю работу за вас.
curl -o https: // выпускает.hashicorp.com / consul-template / 0.20.0 / консул-template_0.20.0_linux_amd64.тгз
Затем вам нужно будет распаковать загруженный выше архив, используя следующую команду.
tar -zxf consul-template_0.20.0_linux_amd64.тгзВы также можете установить его локально с помощью докера, если хотите. После того, как докер установлен в вашей системе, вы можете клонировать официальный репозиторий шаблонов consul, используя следующую команду.
git clone https: // github.com / hashicorp / consul-template.мерзавецЗатем выполните следующую команду, чтобы скомпилировать двоичный файл шаблона консула. make dev Теперь вы успешно установили шаблон консула на свой сервер.
Настройка шаблона Consul
В вашей системе установлен шаблон consul, теперь мы готовы его использовать. Вот пример файла конфигурации для конфигурации ctemplate consul-template.hcl.
консуладрес = "locahost: 8500"
retry
enabled = true
попыток = 12
backoff = "250 мс"
токен = "w94RIMKUtQH1a4VJGN + t + vn1Y0nErc / ch93E1F1ZcHU ="
reload_signal = "SIGHUP" kill_signal = "SIGINT" max_stale = "10 м" log_level = "warn" #
pid_file = "/ шаблон-консул / шаблон-консул.pid "wait
min = "5 с"
макс = "10 с"
сейф
адрес = "
[http: // localhost: 8200] (http: // localhost: 8200 /) "
token = "R / Uf0tYa5YkhPLpNLL807KWJ4ZiJi3clyQEfaMoRSJg"
Renew_token = ложь
deduplicate
enabled = true
# prefix = "consul-template / dedup /"
шаблон
source = "./ хранилище / шаблоны / pki / cert.ctmpl "
пункт назначения = "./ хранилище / вывод / pki / mpatel.вашдомен.ком.crt "
пермь = 0400
left_delimiter = ""
right_delimiter = ""
ждать
min = "2 с"
макс = "10 с"
шаблон
source = "./ хранилище / шаблоны / pki / ca.ctmpl "
пункт назначения = "./ хранилище / вывод / pki / mpatel.вашдомен.ком.ок.crt "
шаблон
source = "./ хранилище / шаблоны / pki / ключ.ctmpl "
пункт назначения = "./ хранилище / вывод / pki / mpatel.вашдомен.ком.ключ"
В приведенном выше файле конфигурации измените адрес консула, адрес хранилища, токен консула, токен хранилища, пути к исходным шаблонам и пути к выходным файлам на свои фактические значения. Теперь вы можете запустить шаблон консула, используя следующую команду.
./ consul-template -config конфигурация.hclДинамическое создание сертификатов с помощью Vault
Vault - широко известный инструмент с открытым исходным кодом для управления секретными данными. Здесь мы увидим другое использование шаблона консула для динамического создания сертификатов с помощью хранилища. Шаблон Consul может запускать более одного шаблона. Для программного создания сертификатов вам понадобятся эти три шаблона, приведенные ниже.
- ок.ctmpl
с секретом "pki-int / issue / cert-generator" "common_name = YourDomain.com "
.Данные.Issing_ca end
- ctmpl
с секретом "pki-int / issue / cert-generator" "common_name = YourDomain.com "
.Данные.сертификат end
- ctmpl
с секретом "pki-int / issue / cert-generator" "common_name = YourDomain.com "
.Данные.private_key end
Не забудьте заменить com своим реальным доменом. Вышеупомянутые три шаблона представляют собой три разных шаблона ввода, но они будут сжаты в один вызов API, когда они будут выполняться в рамках одного и того же процесса шаблона консула. Теперь, когда у вас есть все вышеперечисленные шаблон и конфигурация консула, вы можете использовать его для динамического создания сертификатов с помощью следующей команды.
./ consul-template -config конфигурация.hclВы также можете использовать шаблон консула, чтобы обнаружить все службы, работающие в вашем кластере консула. Для этого вам нужно будет создать шаблон, сохраненный как all-services.tpl.
все услуги.tplrange services # .Имя диапазон услуг .Имя
.Адрес end
конец
После того, как вы создали шаблон, вам нужно будет запустить его. На этот раз мы просто укажем файл шаблона для запуска шаблона. Выполните следующую команду, чтобы запустить шаблон.
consul-template -template = "все-услуги.tpl: все услуги.txt "-onceМы использовали флаг - один раз в приведенной выше команде, чтобы запустить процесс один раз, а затем он автоматически завершится. Вы увидите следующий вывод для запущенных служб:
# консул35 год.75.121.88
# redis
35 год.75.86.171
35 год.75.109.224
35 год.75.59.65
# сеть
192.168.86.205
192.168.109.224
192.168.59.110
Заключение
В этом руководстве вы узнали, как установить и настроить шаблон консула на своем сервере. Теперь вы можете использовать шаблон консула для выполнения различных операций с вашими приложениями. Надеемся, теперь у вас достаточно знаний для работы с шаблоном consul.