@pro_ansible

Страница 170 из 625
Sander
16.03.2017
22:49:56
поэтому под каждый проект я не делаю плейбук

Igor
16.03.2017
22:50:19
Симлинки на плейбуки?)

Sander
16.03.2017
22:50:28
я просто пишу переменные в group_vars ``` platform__phpfpm: "wordpress" platform__webserver: "nginx" platform__database: "mariadb" ```

Igor
16.03.2017
22:50:32
В разных окружениях?

Google
Igor
16.03.2017
22:50:41
Ааа

Sander
16.03.2017
22:50:43
если platform__phpfpm: false, то он контейнер не поставит

я не уверен что я все хорошо делаю

но вариант, городить под каждый проект свой плейбук все токи не лучшая идея, они одинаковые будут (практически)

Igor
16.03.2017
22:51:54
Мне кажется надо использовать hosts_vars и group_vars и роли

И запускать плейбук с ивентори из нужного окружения

Sander
16.03.2017
22:52:26
у меня получается все в group_vars, но наверное там лучше хранить что-то общее

на host_vars, хранить если что-то индивидуальное будет

и roles тоже использую

куда без них

Igor
16.03.2017
22:52:54
У меня одни плейбуки и разные переменные в host_vars/group_vars

Sander
16.03.2017
22:54:14
посмотреть бы

Pavel
16.03.2017
22:56:25
но вариант, городить под каждый проект свой плейбук все токи не лучшая идея, они одинаковые будут (практически)
согласен, лучше , как мне кажется параметризировать это в груп или хост -варс

Google
Sander
16.03.2017
22:57:00
я просто долго сидел, и у меня все равно вышло так, что я параметров больше делал и логику небольшую

Pavel
16.03.2017
22:57:54
так параметры только те что разные

а 100500 ролей, как по мне еще хуже

Sander
16.03.2017
22:58:37
у кого-нибудь есть хороший пример ansible, с мультисайтовостью

?

Pavel
16.03.2017
22:59:23
у кого-нибудь есть хороший пример ansible, с мультисайтовостью
я пытаюсь делать, но не знаю насколько хорошо получается

Sander
16.03.2017
22:59:40
можешь показать

а я свой покажу

?

Pavel
16.03.2017
22:59:58
щас меряться начнем ))

Igor
16.03.2017
23:01:37
а 100500 ролей, как по мне еще хуже
Почему хуже? Роль отрабатывает только на нужную группу хостов, т.е. специфические задачи для группы

Как по мне, разбивка задач по ролям офигенна

Pavel
16.03.2017
23:14:49
скомбинировал роли в плкейбуке - получил что угодно на сервере

Igor
16.03.2017
23:15:18
для меня тоже

я в main.yml указываю роли

а по inventories/enviromets/hosts решаю где выполнять и с какими переменными

пароли ip и прочее

*inventories/enviroments/{hosts,group_vars/group,hosts_vars/host}

а для меня роль - это сервис
поэтому почему 100500 ролей хуже

Google
Igor
16.03.2017
23:18:27
есть каждая роль - это сервис

а в /roles/name/tasks/main.yml указывается hosts: группа хостов

на которой роль выполнять

из inventory файла

и все

при выполнении плейбука каждая роль применяется на нужную группу хостов, каждая группа описана в нужном hosts в нужном iventories со своими переменными

т.е. делаем ansible-playbook -i inentories/enviroments/hosts main.yml

Вжух - и у тебя есть готовое окружение ))

Почему вы против этого не понятно

против ролей т.е.

100500

Pavel
16.03.2017
23:33:23
Почему вы против этого не понятно
а против чего я - вроде почти так и говорил

Pavel
16.03.2017
23:34:42
есть каждая роль - это сервис
а у тебя 100500 сервисов?

ну 10, ну 20....

у меня еще и 10 нет

Igor
16.03.2017
23:35:47
а 100500 ролей, как по мне еще хуже
тогда не понятно почему 100500 ролей зло

Pavel
16.03.2017
23:36:22
Igor
16.03.2017
23:37:06
пример из жизни можно

Pavel
16.03.2017
23:38:41
например nginx-балансировщик и nginx-прокси можно сделать 2 роли, а можно 1, параметризовав в хост-варс и в зависмости что написано в перемнных накатит нужное

Google
Pavel
16.03.2017
23:39:00
я делаю 1 потому что nginx - сервис, а не прокси-сервис и балансировщик-сервис

Igor
16.03.2017
23:39:38
ну конечно надо юзать переменные к группе хостов и групп

не понятно при чём тут роли

роли используют те переменные, которые есть в группе хостов или в хостах определённого окружения

не понятна проблематика

и поясните проблематику

Pavel
16.03.2017
23:48:09
ну мне не нравится плодить роли на 90% одинаковые, только копи-пастить.... (те 2 роль nginx)

Igor
16.03.2017
23:48:43
при выполнении прейбука укажите нужный файл хостов в нужном окружении

Admin
ERROR: S client not available

Igor
16.03.2017
23:49:38
откуда из окружения подцепятся правильные переменные

Pavel
16.03.2017
23:50:15
Igor
16.03.2017
23:50:37
тогда не понимаю почему надо плодить 2 роли на nginx

Pavel
16.03.2017
23:51:07
так я и говорию, что не надо 100500 ролей

Igor
16.03.2017
23:51:15
если все переменные описываются в окружениях и их {host,group}_ars

ааааа

Sander
16.03.2017
23:51:24
?

Pavel
16.03.2017
23:51:28
надо параметризовать их в переменных

Google
Igor
16.03.2017
23:52:05
а 100500 ролей, как по мне еще хуже
я неправильно интерпретировал данную фразу

я интерпретировал как необходимость писать 100500 ролей, но это хуже, чем их не писать

Pavel
16.03.2017
23:53:33
? разобрались

Igor
16.03.2017
23:53:58
?

Sander
16.03.2017
23:54:13
как взять все group_vars и собрать из них ~/.ssh/config файл. так как этот вариант работает отвратно: ``` #- hosts: "all" # tasks: # - name: "Generate OpenSSH config file" # shell: "echo ' #host {{ domain }}\n #HostName {{ host_ip }}\n #IdentityFile {{ ssh_path }}/{{ domain }}\n #User webstudio\n\n #' >> $HOME/.ssh/webstudio/config" ```

Sander
16.03.2017
23:55:37
использовать то я умею

но как мне прогнать так, чтоб нормально в файл запислалось

Igor
16.03.2017
23:56:11
модуль template

Sander
16.03.2017
23:56:19
да знаю я

проблема не в этом

Igor
16.03.2017
23:56:27
а в чем

Sander
16.03.2017
23:56:52
как ты возьмешь весь список сайтов со всеми параметрами

и запихнешь в один template?

Igor
16.03.2017
23:56:58
/me openssh конфиг комментит модулем replayce

Sander
16.03.2017
23:57:16
если ты посомтришь мой пример, я каждый раз добавляю в конец файла записи

Igor
16.03.2017
23:57:21
возьму из групп хостов

Sander
16.03.2017
23:57:37
``` echo ' host {{ domain }}\n HostName {{ host_ip }}\n IdentityFile {{ ssh_path }}/{{ domain }}\n User webstudio\n\n ' >> $HOME/.ssh/webstudio/config" ```

как иначе сделать я не знаю

Pavel
16.03.2017
23:58:16
blockinfile посмотри модуль

Igor
16.03.2017
23:58:25
ну, shell юзать точно не стоит

Страница 170 из 625