Как реализовать кластер узлов 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

Установить инструменты

  1. Убедитесь, что у вас установлен Git
  2. Установите последнюю версию Vagrant ( ПРИМЕЧАНИЕ. WINDOWS 7 И WINDOWS 8 ТРЕБУЮТ ПОЛОЖЕНИЕ> = 3)
  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,

  1. Используйте свой открытый ключ, чтобы заменить значение ключа abcd1430890...и запустите его на виртуальной машине, управляемой Vagrant.
    curl --request PUT --data '{"key":"abcd12345678..."}' http://192.168.13.35:8200/v1/sys/unseal
  1. Запустить это 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

Другие вопросы по тегам