Запустить службу в асинхронном c режиме в Ansible - PullRequest
0 голосов
/ 14 июля 2020

Я хочу запустить службу Hashicorp Vault с использованием модуля оболочки Ansible, но в режиме asyn c.

vault server -config=config.hcl

В противном случае задачи после того, как он не выполняется, и терминал Застревает. Как это сделать?

Я видел, что в Ansible есть модуль asyn c. Будет ли работать в этом случае? Но для этого необходимо указать время, в течение которого служба будет работать в фоновом режиме, но я хочу выполнять ее в фоновом режиме бесконечно. Пожалуйста, дайте мне знать.

1 Ответ

1 голос
/ 14 июля 2020

Это не способ запустить Vault с Ansible. Вместо этого вам следует использовать Ansible для настройки службы на хост-машине, на которой будет работать Vault. Если ваш хост работает под управлением systemd, это определение службы может работать:

[Unit]
Description=a tool for managing secrets
Documentation=https://vaultproject.io/docs/
After=network.target
ConditionFileNotEmpty={{ vault_config_path }}

[Service]
User=vault
Group=vault
ExecStart=/usr/local/bin/vault server -config={{ vault_config_path }}
ExecReload=/usr/bin/kill --signal HUP $MAINPID
CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK
Capabilities=CAP_IPC_LOCK+ep
SecureBits=keep-caps
NoNewPrivileges=yes
KillSignal=SIGINT

[Install]
WantedBy=multi-user.target

Где vault_config_path - это переменная Ansible, содержащая путь к config.hcl - вы, конечно, можете изменить это по своему усмотрению. content.

Установив это определение службы (в /etc/systemd/system/vault.service), вы можете запустить службу Vault с помощью задачи Ansible, например:

- name: Enable Vault service
  service:
    name: vault
    state: started
    enabled: yes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...