LINUX.ORG.RU
ФорумAdmin

Ansible

 


0

1

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

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

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

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

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

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

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

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

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

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

А если мне из 100 машин на 10 нужно прописать одно На 20 другое И на 70 другое И частенько что-то добавлять в определенные группы?

Etosheartem ()
Ответ на: комментарий от 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 )
Ответ на: комментарий от Etosheartem

А настроить вьюшки в named чем не подходит?

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

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

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

anc ★★★★★ ()

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

Тем более не надо для этого использовать hosts

Такая задача вопиет о проблемах в системе.

AVL2 ★★★★★ ()

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

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

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

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

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

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

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

Всё верно. Либо у вас вся конфигурация живёт в IaC, либо страдать.

FireFighter ★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.