IT用户可以更加轻松地管理Red Hat Linux企业环境,使用Ansible上的系统角色(System Roles)节点管理提高效率。
与Ansible集成对Red Hat企业级Linux管理员来说越来越重要。管理员可以通过Ansible自动完成相关工作,并能够在大型环境中更加轻松地管理Red Hat Linux企业版。要使用Ansible管理节点,您需要一份手册来定义要管理的属性以及要在目标系统上执行的任务。Red Hat的角色将帮助这一过程更加效率。
Red Hat的角色是在RHEL 7.4版本发布时引入的。Red Hat的角色目前可进行技术预览,并提供一系列的Ansible角色,允许管理员能够以相同的方式管理RHEL。
Red Hat角色基于上游Linux系统角色项目,目前支持RHEL 6+,CentOS 6+和Fedora。这一项目旨在为Linux管理提供一致的类API接口,因此不需要考虑主要和次要版本的Linux发行版之间的差异。如果您的Linux发行版支持Linux系统角色,则可以使用适用于这些系统角色的Ansible操作手册管理其参数,而无需考虑发行版之间可能存在的差异。
在操作系统有很大差异的地方使用系统角色是很有帮助的,比如网络配置。使用系统角色,这些差异已经不再重要了,因为使用通用的Ansible操作手册可以解决托管系统的问题。
如何使用Red Hat系统角色
在当前版本中,Red Hat提供了五类角色集,分别是:kdump,postfix,network,selinux和timesync。
在RHEL 7.4版本中,您可以通过Red Hat Network Extras频道访问系统角色,该频道可以访问新的且经常快速发展的软件包。在配置为Ansible管理系统并运行Ansible Engine的服务器上使用系统角色。该服务器必须运行在RHEL 7.4之上。使用系统角色,您可以作为客户端来管理RHEL 6.9及更高版本。系统角色需要将客户端完全设置为Ansible管理的客户端。
Red Hat系统角色允许管理员有效地管理主机的指定属性。以下示例代码说明了这一点:
- $ vim example-network-playbook.yml
- —
- – hosts: rhel7.4-test
- vars:
- network_connections:
- network_connections:
- – name: DBnic
- state: up
- type: ethernet
- interface_name: eth1
- autoconnect: yes
- ip:
- dhcp4: yes
- auto6: no
- roles:
- – role: rhel-system-roles.network
在这一示例中,***一行包括rhel-system-roles.network系统角色。此角色允许管理员使用系统角色提供的变量来管理网卡的不同属性。有关可用变量的完整列表,管理员可以参阅/usr/share/doc/rhel-system-roles中的文档。示例代码提供了部分这些变量的概述。
创建手册后,可以使用ansible-playbook命令在托管主机上运行该手册。例如,使用ansible-playbook-lserver1 example-network-playbook.yml将此系统角色中的设置应用于server1,server1将Ansible操作手册中的配置应用于eth1网络接口。
系统角色可以简化Ansible环境中异构系统和节点的管理。尽管该项目目前只面向Red Hat,但其他Linux发行版可能将在未来集成。如果出现这样的情况,系统角色就可以更为轻松地管理Linux。