Существует два разных способа очистки кластера Vault в чрезвычайной ситуации.
Предполагается, что ваш Vault Cluster уже использует Consul в качестве хранилища и бэкэнда HA.
Во всяком случае, вот несколько сценариев, где вы можете использовать это:
- Вы хотите очистить все данные в кластере HashiCorp Vault без необходимости повторного развертывания его инфраструктуры. Это полезно для тестирования.
- Для пользователей, выполняющих обновление до Enterprise, для этого существует меньше вариантов использования, но это может пригодиться, если вы хотите убедиться, что в целевом кластере нет данных до их добавления в replicaset.
Сброс Vault с помощью Consul – это короткий метод аварийного восстановления / резервного копирования.
Об этом стоит прочитать, потому что этот метод аварийного восстановления отсутствует в общедоступной документации.
По крайней мере, я еще не нашел
Просто удалите данные в Consul, и вуаля, Vault сброшен, готов к инициализации.
Сброс Vault Метод 1: Удалите состояние Consul, удалив содержимое «data».
"data_dir": "/opt/consul/data",
Часть после «data_dir»: это папка, содержимое которой вы хотите удалить, чтобы «очистить» данный узел Consul.
Прежде чем сделать это, убедитесь, что закрыли Vault, а затем выключили Consul.
После того, как вы удалили содержимое этой папки, вы можете запустить Консул, затем Vault.
Сброс Vault Cluster Метод 2: Удалить состояние Consul, удалив каталог Vault в KV API.
Посмотрите в своем файле конфигурации Vault (его расположение по умолчанию – /etc/vault/vault.hcl для внутреннего раздела. Там, где вы используете Consul в качестве внутреннего интерфейса, вы должны увидеть строку, определяющую путь. Это путь в хранилище Consul KV для удаления, если вы хотите сбросить данные Vault с помощью API Consul KV.
path = "vault/"
consul kv delete -recurse vault/
Error deleting key vault/: Unexpected response code: 403 (rpc error making call: Permission denied)
[vagrant@instance5 vagrant]$ export CONSUL_HTTP_TOKEN=a4c878e5-a0eb-48ef-b6b4-00e18a146bf2; consul kv delete vault/
Сброс Vault Метод 3: Удалите состояние Консула, удалив каталог Vault в интерфейсе Consul.
Технически, это очень похоже на метод 2, но заслуживает некоторого упоминания для тех из нас, кто не так знаком с CLI и API Consul.
Во-первых, вам нужно перейти в консул GUI.
Добавьте IP-адрес вашего Consul в адресную строку браузера, затем поставьте после него 8500, как в следующем примере:
Удалите эти данные, щелкнув … в разделе Action и выбрав Delete.
- Создать кластер
- Инициализировать кластер
- Резервное копирование Consul (снэпшот Consul сохранить mysnapshot.dat)
- Выключите кластер и его бэкэнд
- Удалите папку Consul /opt/consul/data/raft
- Перезапустите Consul
- Перезапустите Vault
- Убедитесь, что Vault был «стерт», проверив, что пользовательский интерфейс Vault снова запрашивает инициализацию
- Восстановление хранилища из снэпшота Consul (восстановление снэпшота из mysnapshot.dat)