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:
– 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。