LINUX.ORG.RU
ФорумAdmin

Ansible

 


0

1

Доброго времени суток, друзья! Помогите, плз Нужен плейбук с возможностью добавления в etc/hosts строку Но, если уже данная строка существует- ничего не делать

К сожалению, опыта с ансиблом мало, и желательно получить шаблон для быстрого решения задачи, буду очень признателен

Ответ на: комментарий от anc

Или вы издеваетесь, или я не знаю. Есть виртуалки (клиенты), у них есть файлики etc/hosts

Есть машина с ансиблом, с помощью которой надо клиентам прописать в etc/hosts данные

Что не понятно то?

Etosheartem
() автор топика
Ответ на: комментарий от Etosheartem

Что не понятно то?

Не понятно почему не работает dns сервер[а] на котор[ом][ых] можно прописать нужные записи, вместо того, что бы заниматься затачиванием костылей.

anc ★★★★★
()
Ответ на: комментарий от anc

- name: hosts to /etc/hosts become: yes lineinfile: dest: /etc/hosts regexp: «^{{ item['ip'] }}.*$» line: «{{ item['ip'] }}\t\t{{ item['names'] | join(' ') }}» state: present with_items: - ip: 1.2.3.4 names: - server1 - ip: 4.5.6.7 names: - server2a - server2b

Странно это называть костылем

Etosheartem
() автор топика
Ответ на: комментарий от Etosheartem

https://bind9.readthedocs.io/en/latest/reference.html#namedconf-statement-view

А вот натравить машины на свой dns - это уже можно через ansible, хотя и тут ansible - попытка удалить гланды через задницу. Надо dhcp настроить один раз, а не дёргать конфиг каждой машины периодически.

mogwai ★★★★
()
Последнее исправление: mogwai (всего исправлений: 1)

ad-hoc

ansible -b -K -m lineinfile -a 'dest=/etc/hosts line="127.0.0.1 mysuperserver"' 10.0.0.1

где 10.0.0.1 - ip результирующего хоста (или группа, прописанная в inventory ansible)

таска в playbook’e

- name: new line in /etc/hosts
  lineinfile:
    path: /etc/hosts
    line: "127.0.0.1 mysuperserver"
adn ★★★★
()

@Etosheartem — конечно, это обескураживает, когда вместо ответа на конкретный вопрос Вам пишут, что подход неправильный.

Но, если Вы решите идти дальше и напишите, какую бизнес-задачу решаете с помощью добавления строк в /etc/hosts — то, вероятно, Вам здесь смогут предложить архитектурно более правильное решение, которое сэкономит кучу времени в будущем.

Harliff ★★★★★
()
Ответ на: комментарий от Etosheartem

Для этого у многих DNS-серверов есть такое понятие как view - возможность отдавать разные записи в зависимости, например, от IP-адреса клиента, который к этому DNS-серверу обращается.

Просто согласись - проще править конфиг для 100 виртуалок в одном месте(и в этом же месте наглядно видеть что и на какие виртуалки распространяется), чем делать это на каждой из 100 виртуалок?

Да, бывают случаи, когда подобный подход оправдан. Но судя по недоумению, которое высказывает здесь не только я, ты пока не привел ни одного аргумента почему такое может быть оправдано.

Pinkbyte ★★★★★
()