Как реализовать кластер узлов Hasicorp vault 3?
Мы внедрили хранилище с открытым исходным кодом hasicorp как один узел с консольным бэкэндом. Нам нужна помощь в реализации кластера узлов хранилища 3 для HA в одном центре обработки данных, а также в нескольких центрах обработки данных. Не могли бы вы помочь мне в этом.
1 ответ
В руководстве по развертыванию Vault есть больше об этом.
https://learn.hashicorp.com/vault/operations/ops-deployment-guide
Объедините это с этим руководством: https://learn.hashicorp.com/vault/operations/ops-vault-ha-consul
Я предполагаю, основываясь только на том факте, что вы уже получили один узел с бэкэндом Consul, что вы уже немного знакомы со сценариями, Git, настройкой новых SSH-соединений, установкой программного обеспечения и виртуальными машинами.
Кроме того, это трудно объяснить, и у них гораздо лучшие ресурсы в других местах.
Кроме того, если вы застряли с необходимыми предварительными условиями, инструментами для установки или загрузкой кода, ознакомьтесь с ресурсами в Интернете.
Однако, если вы получаете ошибку, если Vault работает некорректно, создайте Github как можно скорее.
Во всяком случае, с этим из пути, краткий ответ таков:
Шаг 1: Настройте 3 сервера Consul, каждый со ссылками друг на друга.
Шаг 2: Настройте 3 сервера Vault, каждый из которых является независимым, но со ссылкой на адрес Консула в качестве своего внутреннего хранилища.
Шаг 3: Инициализируйте кластер с вашим новым Vault API.
Теперь для длинного ответа.
Предпосылки
ОС-специфические предпосылки
- MacOS: OSX 10.13 или более поздняя версия
- Windows: Windows должна иметь версию Powershell 3.0 или более позднюю. Если вы используете Windows 7, я рекомендую Windows Management Framework 4.0, потому что его проще установить
бродяга
Настройте Vagrant, потому что он позаботится обо всех настройках сети и ресурсов для используемой базовой инфраструктуры.
Специально для Vagrant руководство по началу работы занимает около 30 минут после установки Vagrant и Virtualbox: https://www.vagrantup.com/intro/getting-started/index.html
Установить инструменты
- Убедитесь, что у вас установлен Git
- Установите последнюю версию Vagrant ( ПРИМЕЧАНИЕ. WINDOWS 7 И WINDOWS 8 ТРЕБУЮТ ПОЛОЖЕНИЕ> = 3)
- Установите последнюю версию VMWare или Virtualbox
Загрузите код для этой демонстрации
Ссылка на соответствующую документацию поставщика: https://help.github.com/articles/cloning-a-repository_
git clone https://github.com/v6/super-duper-vault-train.git
Используйте этот код для создания кластера хранилища
Связанная документация Vagrant Vendor Link: https://www.vagrantup.com/intro/index.html
cd super-duper-vault-train
vagrant up
## ПРИМЕЧАНИЕ. Возможно, вам придется подождать некоторое время, и будут некоторые ошибки "повторных попыток подключения" в течение длительного времени, прежде чем произойдет успешное подключение, поскольку виртуальная машина загружается. Убедитесь, что у вас последняя версия, и попробуйте руководство по началу работы с Vagrant.vagrant status
vagrant ssh instance5
После этого вы увидите изменение командной строки, чтобы показать vagrant@instance5
,
Вы также можете vagrant ssh
на другие виртуальные машины, перечисленные в выводе vagrant status
,
Теперь вы можете использовать Vault или Consul из виртуальной машины, для которой вы запускали vagrant ssh
,
Свод
Исследуйте кластер хранилищ
ps -ef | grep vault
## Проверьте процесс хранилища (запускайте в экземпляре, управляемом Vagrant)ps -ef | grep consul
## Проверьте процесс Консула (запускайте в экземпляре, управляемом Vagrant)vault version
## Вывод должен быть Vault v0.10.2 ('3ee0802ed08cb7f4046c2151ec4671a076b76166')
consul version
## В выходных данных должны отображаться версия Консульского агента и версия протокола Raft.
Ящики Vagrant имеют следующие IP-адреса:
192.168.13.35
192.168.13.36
192.168.13.37
Хранилище находится на порту 8200.
Консул находится на порту 8500.
Нажмите на ссылки
http://192.168.13.35:8200/ (хранилище)
http://192.168.13.35:8500/ (Консул)
http://192.168.13.36:8200/ (хранилище)
http://192.168.13.36:8500/ (Консул)
http://192.168.13.37:8200/ (хранилище)
http://192.168.13.37:8500/ (Консул)
Запустить данные хранилища
Ссылка на соответствующую документацию поставщика: https://www.vaultproject.io/api/system/init.html_
Запустите Vault.
Запустите эту команду на одной из виртуальных машин, управляемых Vagrant, или где-нибудь на вашем компьютере, который имеет curl
установлены.
curl -s --request PUT -d '{"secret_shares": 3,"secret_threshold": 2}' http://192.168.13.35:8200/v1/sys/init
Unseal Vault
Ссылка на соответствующую документацию поставщика: https://www.vaultproject.io/api/system/unseal.html_
Это откроет хранилище в 192.168.13.35:8200
, Вы можете использовать тот же процесс для 192.168.13.36:8200
а также 192.168.13.37:8200
,
- Используйте свой открытый ключ, чтобы заменить значение ключа
abcd1430890...
и запустите его на виртуальной машине, управляемой Vagrant.
curl --request PUT --data '{"key":"abcd12345678..."}' http://192.168.13.35:8200/v1/sys/unseal
- Запустить это
curl
команда снова. Но используйте другое значение для"key":
, замещатьefgh2541901...
с ключом, отличным от того, который вы использовали на предыдущем шаге, от ключей, которые вы получили при запускеv1/sys/init
конечная точка.
curl --request PUT --data '{"key":"efgh910111213..."}' http://192.168.13.35:8200/v1/sys/unseal
Non-Vagrant
Пожалуйста, обратитесь к файлу PRODUCTION_INSTALLATION.md в этом хранилище.
Codified Vault Политики и Конфигурация
Чтобы обеспечить Provision Vault через его API, обратитесь к provision_vault
папка.
У него есть данные и скрипты.
data
Дерево папки соответствует конечным точкам API HashiCorp Vault, аналогично следующему:
https://www.hashicorp.com/blog/codifying-vault-policies-and-configuration
Вы можете использовать Codified Vault Policies and Configuration с вашим первоначальным корневым токеном после инициализации и распечатывания Vault, чтобы быстро настроить Vault через его API.
Файлы.json внутри каждой папки соответствуют полезным нагрузкам для отправки в Vault через его API, но могут также .hcl
,.sample
, а также .sh
файлы для удобства.
Hashicorp написал несколько советов о том, как начать настройку хранилища HA и конфигурации Consul:
https://www.vaultproject.io/guides/operations/vault-ha-consul.html