Как запустить Playbook для нескольких серверов / хоста в одной среде - PullRequest
0 голосов
/ 26 марта 2020

Я пишу Ansible playbook, который мне нужно запустить для моей среды preprod. Теперь развертывание в этой среде немного сложнее. Есть несколько войн, которые развернуты на нескольких серверах. Эта среда состоит из 4 различных приложений и серверов, и развертывание должно выполняться последовательно -. Также я думаю об использовании ролей. Например, предположим, что есть 3 задачи, скопируйте выпуск, остановите tomcat, разверните выпуск, чтобы выполнить это действие тремя отдельными ролями.

cms-server db-server api-сервер переднего сервера.

Я пытаюсь понять, как мне построить инвентарь для этого? Я использую group_vars для определения набора переменных для конкретной группы.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 26 марта 2020

Хотелось бы что-нибудь подобное для вас?

preprod:
  children: 
    cms-server: 
      hosts: 
        serv1
        serv2
    db-server:
      hosts:
        serv3
    front-server:
      hosts:
        serv4
    api-server:
        serv5
        serv6

Здесь «дети» означают, что следующие подгруппы. «Хосты» предназначены для хостов внутри подгрупп.

Затем вы можете иметь файлы groups_vars для каждой группы (будут применяться к любому хосту внутри этой группы) или также для группы preprod, что может позволить вам повторить это для prod или dev envs в будущем.

Если вы решите последовать этому, я бы посоветовал вам переименовать имена вашей группы и добавить «s» на серверах.

...