Я пытаюсь настроить кластер Elasticsearch на Ansible, используя официальную роль Elasti c Ansible elasti c .elasticsearch. Я установил Ansible Tower и Dynami c Inventory для своих AWS экземпляров. Я пометил свои экземпляры и сгруппировал их в tag_Group_Elasticsearch. Вот код Ansible:
hosts: tag_Group_Elasticsearch
roles:
- role: elastic.elasticsearch
vars:
es_heap_size: "2g"
es_config:
network.host: 0.0.0.0
cluster.name: "prod-cluster"
cluster.initial_master_nodes: "tag_Group_Elasticsearch"
discovery.seed_hosts: "tag_Group_Elasticsearch"
http.port: 9200
node.master: true
bootstrap.memory_lock: false
es_plugins:
- plugin: ingest-attachment
Так что, когда я хочу использовать группу в роли, она хорошо работает, когда речь идет о главной части игры. Хорошо разрешается и применяется ко всем хостам в группе. Но когда я хочу использовать его в переменной es_config, он не разрешает имена хостов, он просто передает его в виде строки, и поэтому кластер эластичного поиска завершается неудачей.
Это то, что я получаю властикомластик в кластере. members:
cluster.initial_master_nodes: tag_Group_Elasticsearch
discovery.seed_hosts: tag_Group_Elasticsearch
Что мне нужно иметь здесь:
cluster.initial_master_nodes: "192.168.x.x, 192.168.x.x, 192.168.x.x "
discovery.seed_hosts: "192.168.x.x, 192.168.x.x, 192.168.x.x"
Я не могу добавить имена хостов в cluster.initial_master_nodes и discovery.seed_hosts вручную, так как мой кластер Elasticsearch построен на основе AWS группа автомасштабирования и мои хосты динамические c ...
Приветствия, Драган