Hashicorp Vault перестает инициализироваться после перезагрузки - PullRequest
1 голос
/ 09 марта 2020

Для некоторых целей тестирования я установил Vault с Консулом в качестве бэкэнда для одного AWS EC2-экземпляра. Я инициализирую и распечатываю это успешно. Все работает хорошо, и я могу сделать свои тесты.

Но каждый раз, когда я останавливаю инстанс EC2 и запускаю его снова, хранилище не инициализируется (команда vault status показывает «Инициализировано» - «ложно»). В результате мне нужно снова запустить Убежище и потерять все свои секреты.

Есть ли способ сохранить инициализацию Vault после остановки экземпляра EC2 и его повторного запуска?

Файлы конфигурации хранилища:

  • config.hcl
storage "consul" {
    address = "127.0.0.1:8500"
    path    = "vault/"
}

listener "tcp" {
    address  = "0.0.0.0:8200"
    tls_disable = 1
}

ui = true
  • vault.service
[Unit]
Description="Hashicorp Vault - A tool for managing secrets"
Documentation=https://www.vaultproject.io/docs/
ConditionFileNotEmpty=/etc/vault.d/config.hcl

[Service]
ExecStart=/usr/bin/vault server -config=/etc/vault.d/config.hcl
ExecReload=/bin/kill --signal HUP $MAINIP
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Файлы конфигурации консула:

  • consul.hcl
datacenter = "dc1"
data_dir = "/tmp/consul"
encrypt = ""
  • server.hcl
datacenter = "dc1"
data_dir = "/tmp/consul"
encrypt = ""
  • consul.service
[Unit]
Description=Consul
Documentation=https://www.consul.io/

[Service]
ExecStart=/usr/bin/consul agent -ui -config-dir=/etc/consul.d/
ExecReload=/bin/kill -HUP $MAINIP
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Буду признателен за любые идеи.

1 Ответ

0 голосов
/ 10 марта 2020

Vault использует Консул для хранения своих данных, но у вас есть Консул, хранящий эти данные в /tmp, который является энергозависимым каталогом и очищается при перезагрузке.

datacenter = "dc1"
data_dir = "/tmp/consul"
encrypt = ""

Попробуйте изменить data_dir на что-то как /var/consul

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...