Давайте подготовим нашу обстановку с хранилищем и рабком.
Включение будет делать функцию хранилища, а также обеспечивает динамические секреты как для нашего стека rabbitmq, так и нашего стека Cassandra DB.
Мы добавим сгенерированный токен в консуль в хранилище в 3 файлах:
Модули/Vault/Vault.tf -> Добавить токен в «consul_http_token»
Позже добавьте токен в:
Данные/Vault-Server-01/Config/vault-config.json
Данные/Vault-Server-02/Config/vault-config.json
Оба «токена параметра».
После этого мы выполним модуль под названием Cluster Vault.
terraform apply -target=module.vault_cluster
Увидеть, что он уже отображается зарегистрированным в консул, но с «запечатанным» состоянием.
Давайте перейдем к Neede Issogle на сервере Vault 1:
docker exec -it vault-server-1 /bin/sh vault operator init vault operator unseal vault status Key Value --- ----- Seal Type shamir Initialized true Sealed false Total Shares 5 Threshold 3 Version 1.3.2 Cluster Name vault-cluster-9be77481 Cluster ID 684b9232-19b4-9fb9-1b2e-8fd1ad08fdb7 HA Enabled true HA Cluster https://10.5.0.2:8201 HA Mode active
Теперь давайте запустим NETEAL процесс на сервере Vault 2
docker exec -it vault-server-2 /bin/sh vault operator unseal vault status Key Value --- ----- Seal Type shamir Initialized true Sealed false Total Shares 5 Threshold 3 Version 1.3.2 Cluster Name vault-cluster-9be77481 Cluster ID 684b9232-19b4-9fb9-1b2e-8fd1ad08fdb7 HA Enabled true HA Cluster https://10.5.0.2:8201 HA Mode standby Active Node Address http://10.5.0.2:8200
Сейчас мы подготовим изображение rabbitmq в Docker с помощью ACL, генерируемым в консул, а затем выполните сборку.
cd /redstack_terraform_public/docker-images/rabbitmq vim config/rabbitmq.conf docker build -t rabbimq . cd ../../redstack vim modules/rabbitmq/rabbitmq.tf
Добавить токен ACL «consul_http_token»
После завершения сборки образа Docker мы запустим модуль rabbitmq_cluster.
Terraform Apply.rabbitmq_Cluster.
Мы уже можем увидеть стек rabritmq, наш менеджер очередей в консул.
Модуль RABLIPMQ_RUNTIME имеет функцию создания примерной очереди под названием «Hello» администратора пользователя для доступа к веб-менедру rabbitmq.
Это должно быть выполнено после развертывания модуля rabbitmq_cluster
terraform apply -target=module.rabbitmq_runtime
Теперь давайте запустим модуль vault_rabbitmq_runtime.
Функция этого модуля состоит в том, чтобы создать на сервере хранилища объектов динамических секретов для случайного пользователя на RABLICMQ.
terraform apply -target=module.vault_rabbitmq_runtime
После применения модуля Vault_RabbitMQ_RUNTIME мы проверим функцию.
docker exec -it vault-server-1 /bin/sh vault read rabbitmq/creds/rabbitmq_access_role Key Value --- ----- lease_id rabbitmq/creds/rabbitmq_access_role/Ff0fZcIj1SRAWeoQNHX21RzF lease_duration 768h lease_renewable true password ea070a9f-9306-9f82-9cad-c42ab7553d02 username root-bd54ff95-eec1-d07c-c966-6ad02ee725b4
Видите, что хранилище создает имя пользователя и пароль, чтобы вы могли аутентифицироваться с помощью rabbitmq.
И это время срока действия, которое может быть установлено в соответствии с вашим бизнесом.
В следующем посте мы разверним стек Cassandra DB с динамическим секретом, активным в хранилище и используя консул в качестве службы открытия:)
Оригинал: «https://dev.to/sl4ck/lab-hashstack-part-2-5g5p»