Ansible清单文件可以有属于不同操作系统的主机吗?
比方说,我们希望在多台机器(一组机器)上部署Java Web应用程序,其中每台机器都具有与其他机器不同的操作系统。我们是否可以编写一个行动手册,在每台机器上设置Java Web应用程序?
方法是否如下? 1.在实战手册中,检查操作系统类型( if -conditions),然后在每个if块中,执行相应的安装步骤(应用程序设置步骤)。如果有任何常见的安装步骤,则将这些任务置于操作系统类型检查条件(if条件)之外。
发布于 2018-11-30 18:46:37
是的,您的清单中可以包含混合的操作系统实例。您可以通过为每个任务添加"when“条件来处理行动手册中的部署,例如:
- name: "Install the Python bindings for SELinux, for Ansible."
yum: name=libselinux-python state=present
when: ansible_os_family == "RedHat"
或者在您的角色的tasks文件夹中,为每个操作系统创建不同的文件,在main fiel中,您可以使用以下内容:
- include: Debian.yml
when: ansible_os_family == "Debian"
- include: RedHat.yml
when: ansible_os_family == "RedHat"
- include: Windows.yml
when: ansible_os_family == "Windows"
https://stackoverflow.com/questions/53555410
复制相似问题