Ansible. Role 15 Bind DNS

Thank you for reading this post, don't forget to subscribe!

Ини­ци­а­ли­зи­ру­ем новую роль:

ansible-galaxy init Bind

* мы назва­ли нашу роль Bind.

Откры­ва­ем основ­ной файл для задачи:

vi Bind/tasks/main.yml

Добав­ля­ем:

 

 

* в зави­си­мо­сти от типа опе­ра­ци­он­ной систе­мы мы под­гру­зим раз­ные пере­мен­ные (так как в раз­ных систе­мах имя для bind раз­ное), после чего уста­нав­ли­ва­ем bind с помо­щью yum (для систем на базе Red Hat) или apt (Debian). Обра­ти­те вни­ма­ние, что для систем Debian мы выпол­ня­ем уста­нов­ку двух паке­тов, для пере­чис­ле­ния кото­рых исполь­зу­ем цикл.

Созда­ем файл с пере­мен­ны­ми для debian:

vi Bind/vars/Debian.yml

 

 

* с пере­мен­ной service_name и зна­че­ни­ем bind9.

Так­же созда­ем файл с пере­мен­ны­ми в роли Bind для систем на базе Red Hat:

vi Bind/vars/RedHat.yml

 

 

* во вто­ром фай­ле зна­че­ние для пере­мен­ной service_name будет named.

Редак­ти­ру­ем файл для handlers:

vi Bind/handlers/main.yml

 

 

* после уста­нов­ки bind необ­хо­ди­мо раз­ре­шить авто­за­пуск сер­ви­са и стар­то­вать его. Имя сер­ви­са под­став­ля­ет­ся из пере­мен­ной и зави­сит от типа опе­ра­ци­он­ной систе­мы Linux.

Созда­ем файл для плейбука:

vi start_role.yml

 

 

* в дан­ном при­ме­ре мы запус­ка­ем выпол­не­ние роли Bind на сер­ве­ры из груп­пы test_servers.

Запус­ка­ем создан­ный плейбук:

ansible-playbook start_role.yml -kK