コンサルkvストアからキー値を取得しようとしているときにエラーが発生しました。アシスタントコンサルkvリスト再帰とキー値の比較
キー値はconfig/app-name/folderに保存されています。多くのキーがあります。領事からの鍵となるすべての価値を入手したいと思っています。 しかし、次のエラー取得:ここ
PLAY [Adding host to inventory] **********************************************************************************************************************************************************
TASK [Adding new host to inventory] ******************************************************************************************************************************************************
changed: [localhost]
PLAY [Testing consul kv] *****************************************************************************************************************************************************************
TASK [show the lookups] ******************************************************************************************************************************************************************
fatal: [server1]: FAILED! => {"failed": true, "msg": "{{lookup('consul_kv','config/app-name/')}}: An unhandled exception occurred while running the lookup plugin 'consul_kv'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Error locating 'config/app-name/' in kv store. Error was 500 No known Consul servers"}
PLAY RECAP *******************************************************************************************************************************************************************************
server1 : ok=0 changed=0 unreachable=0 failed=1
localhost : ok=1 changed=1 unreachable=0 failed=0
は私がしようとしているコードです。
---
- name: Adding host to inventory
hosts: localhost
tasks:
- name: Adding new host to inventory
add_host:
name: "{{ target }}"
- name: Testing consul kv
hosts: "{{ target }}"
vars:
kv_info: "{{lookup('consul_kv','config/app-name/')}}"
become: yes
tasks:
- name: show the lookups
debug: msg="{{ kv_info }}"
しかし、フォルダを削除してフォルダを追加するとうまくいきます。領事クラスターから鍵の値を得ることは誤りを投げている。ここでより良い方法を提案してください。
- name: remove folder from the store
consul_kv:
key: 'config/app-name/'
value: 'removing'
recurse: true
state: absent
- name: add folder to the store
consul_kv:
key: 'config/app-name/'
value: 'adding'
私はこれを試しましたが、それでも同じエラーです。
---
- name: Adding host to inventory
hosts: localhost
environment:
ANSIBLE_CONSUL_URL: "http://consul-1.abcaa.com"
tasks:
- name: Adding new host to inventory
add_host:
name: "{{ target }}"
- name: show the lookups
debug: kv_info= "{{lookup('consul_kv','config/app-name/')}}"
ありがとうございます。だから私にこれに対処する理想的な方法を提案してもらえますか? – ryan1506
コントロールホストからconsulにアクセスし、正しいURLに 'ANSIBLE_CONSUL_URL' env変数を設定してください。または、データを取り出せるようにするために、Ansibleのカスタム領事モジュールを探します。 –
ありがとう、私はこれを試しましたが、依然として500のエラーを受け取っていません。 – ryan1506