Может ли файл инвентаризации Ansible иметь хосты, принадлежащие разным ОС? - PullRequest
0 голосов
/ 30 ноября 2018

Может ли файл инвентаризации Ansible иметь хосты, принадлежащие разным ОС?

Допустим, мы хотим развернуть веб-приложение Java на нескольких машинах (наборе машин), где каждая машина имеет свою ОС, отличную отостальные машины.Можем ли мы написать одну книгу, которая может настроить веб-приложение Java на каждом из этих компьютеров?

Будет ли следующий подход?1. В книге игр проверьте тип ОС (условия if), а затем в каждом блоке if выполните шаги установки (шаги настройки приложения) соответственно.Если есть какие-либо общие шаги установки, тогда задайте эти задачи вне условия проверки типа ОС (если условие).

1 Ответ

0 голосов
/ 30 ноября 2018

Да, вы можете иметь в своем инвентаре смешанные экземпляры ОС.Вы можете справиться с развертыванием в своей книге игр, добавив условие «когда» для каждой задачи, например:

- name: "Install the Python bindings for SELinux, for Ansible."
  yum: name=libselinux-python state=present
  when: ansible_os_family == "RedHat"

Или в своей папке задач вашей роли создайте другой файл для ОС, а в главном поле вы можете использовать что-токак это:

- include: Debian.yml
  when: ansible_os_family == "Debian"

- include: RedHat.yml
  when: ansible_os_family == "RedHat"

- include: Windows.yml
  when: ansible_os_family == "Windows"
...