LINUX.ORG.RU
ФорумAdmin

Ansible, организация структуры.

 


1

3

Hi All.

Может кто сможет поделится наилучшим опытом для организации playbook для ansible, не много замучился в поисках наиболее оптимального варианта, а плодить кучу playbook как-то не хочется. Дано: inventory.ini

[node01]
kvm-node01.domain

[node02]
kvm-node02.domain

[node03]
kvm-node03.domain
А теперь нам надо создать 20Kvm машин, для этого создаю в vars каталог vms
+vars +
      +- vms +
             +- vm01-config.yml
             +- vm02-config.yml
             +- vm03-config.yml 
             +- vm04-config.yml
Теперь возникает вопрос как это корректно подвязать чтобы каждая нода могла исполнять только нужную VM. Может у кого-то есть идеи организации таких схем с наиболее минимальными проблемами?

Пока возникает еще мысль инклудить каждую VM в inventory под каждую ноду, но все таки мне кажется это не оптимальный вариант управления зверинцем.

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

Я не совсем понимаю что у вас в vars/vms/*.yml. Я предлагаю сделать cp vars/vams/vm01-config.yml каталогСИнвентарем/group_vars/node01, cp vars/vams/vm02-config.yml каталогСИнвентарем/group_vars/node02 и т.д. То есть у вас определенный конфиг будет принадлежать определенной группе хостов.

// Только правильнее было бы сделать одну большую группу и конфиги делить по хостам, но раз вы решили работать по группам - так тоже можно.

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

Ansible очень гибкий, так что какого-то единственного варианта нет. У меня сделано так:

- инвентари
 | -- один проект
   | -- список хостов
   | -- group_vars # переменные для групп хостов
     | -- группа1
     | -- группа2
   | -- hosts_vars # переменные для хостов
     | -- foo1.bar.localdomain
     | -- foo2.bar.localdomain
 | -- другой проект
 | -- третий проект
- сценарии

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

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

если вопрос ко мне, то пока не как, ищу наиболее простые варианты в плане как подать описание в переменных.

а так вижу кучу вариантов, хоть через темплейты, хоть через virt-install

InventoRs
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.