#salt-stack #configuration-management
#солевой стек #конфигурация-управление
Вопрос:
Как динамически обновлять файл / etc / hosts с помощью saltstack.
Есть пример, который отлично работает с ansible, но не знаю, как это сделать с помощью salt.
http://xmeblog.blogspot.fr/2013/06/ansible-dynamicaly-update-etchosts.html
- name: add hostname in /etc/hosts
lineinfile: dest=/etc/hosts regexp='.*{{ item }}$' line="{{ hostvars[item]['ansible_default_ipv4']['address'] }} {{item}}" state=present
when: hostvars[item]['ansible_default_ipv4']['address'] is defined
with_items: groups['all']
Это обновит /etc / hosts всеми ansible hosts-ip и адреса хостов, доступные в файле инвентаризации.
Как это возможно с солью? Я хочу собрать все IP-адреса minions и имя хоста и обновить их для всех minions / etc / hosts.
minion1 => ip (192.168.1.1) hostname is (example1.net)
minion2 => ip (192.168.1.2) hostname is (example2.net)
minion3 => ip (192.168.1.3) hostname is (example3.net)
Во всех файлах minions / etc / hosts запись в файле должна быть такой:
127.0.0.1 localhost
::1 localhost
192.168.1.1 example1.net
192.168.1.2 example2.net
192.168.1.3 example3.net
Ответ №1:
Пожалуйста, взгляните на https://github.com/saltstack-formulas/hostsfile-formula , надеюсь, это соответствует вашим потребностям.
Эта конкретная формула позволяет «автоматически» создавать /etc/hosts
записи для всех известных миньонов.
Пожалуйста, нет, я заметил, что ссылка на формулу в документации по формулам не работает, попробуйте эту вместо инструкций по установке и использованию формул соли.
Формулы представляют собой предварительно записанные состояния соли. Они такие же открытые, как и сами состояния соли, и могут использоваться для таких задач, как установка пакета, настройка и запуск службы, настройка пользователей или разрешений и многих других общих задач.