Коллеги, здравствуйте.
Начал писать плейбуки с ансиблом, есть пару вопросов по best practice в написании плейбуков.
1. У меня плейбук на 250 строк (небольшой, да), однако сейчас смотрю на чужие плейбуки и вижу, что коллеги создают roles вместо одного сплошлого текста. Как вы счиатете, это нужно делать? Для примера покажу свою часть плейбука:
- name: STAGE 0.0.8 - Install prerequisites
apt:
name: "{{items}}"
#update_cache: yes
vars:
items:
- apt-transport-https
- ca-certificates
- curl
- software-properties-common
- net-tools
- name: STAGE 0.0.9 - Set swap to 1 value
sysctl:
name: vm.swappiness
value: 1
state: present
# ---------
- name: STAGE 0.1 - Add the user '' with a primary group of 'sudo and admin'
user:
name: r
shell: /bin/bash
groups:
- sudo
state: present
password: '6$$.'
createhome: yes
То есть логично вынести STAGE 0.0* и STAGE 1.* в разные roles или это вопрос моего личного восприятия? И это "не обязательно"
2. Как лучше поступить, если у меня для разной группы хостов разные условия в плейбуках? То есть: например хосты в одном сегменте дожны исполнять STAGE 5*, а в другом -- нет. Можно ли это сделать через "флаги" при запуске. Т.е. я понимаю, что сейчас все хосты пойдут из одного сегмента - я использую флаг --сегмент1, а из другого - --сегмент2, который минует пятый стейдж.
2.1 Или можно ли при наступлении пятого стейджа в консоли высвечивать что-то наподобие "yes if procced no if continue", который просто "перешагнет" стейдж 5
2.2 Или вообще под свою группу хостов иметь свой плейбук? Например под одну - плейбук1 с стейдж5, под другую - плейбук2 без стейджа5
3. Как бороться с hosts: в начале плейбука. Кажлый раз заменять, на какую группу хостов исполнять плейбук?
4. Бонусный. А почему топят за салт вместо ансибла? В чем их принципиальные различия и что для чего лучше использовать?
Спасибо большое за ответы!