Ошибка распечатывания Hashicorp Vault через Ansible - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь развернуть Hashicorp Vault через Ansible.Мне удалось установить его, выполнить первоначальную настройку и сгенерировать 5 открытых ключей вместе с корневым токеном.Однако я получаю ошибки при попытке распечатать его через ANSIBLE.Я пробовал разные вещи, чтобы заставить это работать, но каждый раз, когда я получаю ошибку тайм-аута.Я даже не могу запустить его через терминал, я получаю те же ошибки.Ниже приведены различные способы, которыми я пытался распечатать Vault:

Метод 1

- name: unseal vault
  uri:
    url: "http://172.0.0.1:8200/v1/sys/unseal"
    method: PUT
    body: "{{ item }}"
    body_format: json
    return_content: yes
    status_code: 200
  become: no
  loop:
    - "{{ key3.stdout }}"
    - "{{ key4.stdout }}"
    - "{{ key5.stdout }}"

Метод 2:

 - name: unseal vault 1
   shell: |
     vault operator unseal {{ key4.stdout }} 
     vault operator unseal {{ key5.stdout }}
     vault operator unseal {{ key3.stdout }}
   environment:
     VAULT_ADDR: "http://172.0.0.1:8200"

Метод 3, повторенный 3 раза:

 - name: unseal the vault
   become: yes
   command: vault operator unseal {{ key4.stdout }}
   environment:
     VAULT_ADDR: "http://172.0.0.1:8200"

Я проверил правильность ключевой переменной, которую я получаю из моего файла.

Это ошибка, которую я получаю для метода 1:

failed: [172.26.1.238] (item=2q2h3y6XsztNEToISMADvbZ5XOugvi7NMHkfiarQq8bN) => {"changed": false, "content": "", "item": "2q2h3y6XsztNEToISMADvbZ5XOugvi7NMHkfiarQq8bN", "msg": "Status code was -1 and not [200]: Request failed: <urlopen error timed out>", "redirected": false, "status": -1, "url": "http://172.0.0.1:8200/v1/sys/unseal"}

Это ошибка, которую я получаю для метода 2:

fatal: [172.26.1.238]: FAILED! => {"changed": true, "cmd": "vault operator unseal jwmGkN2O5t0JvAI2+82I9WAJuEL1PEG7sbkk8lmao+2B\n vault operator unseal 2q2h3y6XsztNEToISMADvbZ5XOugvi7NMHkfiarQq8bN\n vault operator unseal J74KbqOcqi6CBAB95PRy9kZF77Q7T2XAFWd7amQk1uP+", "delta": "0:01:30.078433", "end": "2018-12-02 00:53:45.609747", "msg": "non-zero return code", "rc": 2, "start": "2018-12-02 00:52:15.531314", "stderr": "Error unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout\nError unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout\nError unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout", "stderr_lines": ["Error unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/otimeout", "Error unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout", "Error unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout"], "stdout": "", "stdout_lines": []}

Это ошибка Iget для метода 3:

fatal: [172.26.1.238]: FAILED! => {"changed": true, "cmd": ["vault", "operator", "unseal", "jwmGkN2O5t0JvAI2+82I9WAJuEL1PEG7sbkk8lmao+2B"], "delta": "0:00:30.025966", "end": "2018-12-02 00:58:28.997154", "msg": "non-zero return code", "rc": 2, "start": "2018-12-02 00:57:58.971188", "stderr": "Error unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout", "stderr_lines": ["Error unsealing: Put http://172.0.0.1:8200/v1/sys/unseal: dial tcp 172.0.0.1:8200: i/o timeout"], "stdout": "", "stdout_lines": []}

Есть мысли о том, что я могу делать неправильно?Я пытался следовать некоторым руководствам онлайн, а также коду других людей из GitHub, но, похоже, ничего не работает.Любая помощь будет оценена

Спасибо

1 Ответ

0 голосов
/ 02 декабря 2018

Так что это неловко, но я думаю, что это может помочь людям, пытающимся сделать то же самое.Так что я могу подтвердить, что метод 2 точно работает.Другие могут также работать, но я не проверял их.Единственное, что мне пришлось изменить, чтобы это работало, - это изменить значение VAULT_ADDR на 127.0.0.1:8200, а не 172.0.0.1:8200.Глупая ошибка, но это стоило мне более 2 дней, чтобы потренироваться.Поэтому я надеюсь, что кто-нибудь еще учится на этом.

Спасибо

...