设置 Ansible 控制节点
要设置 Ansible 控制节点,请在 SUSE Manager Web UI 中执行以下步骤。
|
要将客户端配置为 Ansible 控制节点,必须在该系统上安装 Ansible 软件包。通常,Ansible 软件包应从操作系统供应商的官方软件储存库获取。例如,在 SUSE Linux Enterprise 15 SP6 及 SP7 上,可通过 |
Only for older SUSE Linux Enterprise 15 clients, Ansible is available through SLES 15 Client tools but there it will be dropped in the future.
-
在 SUSE Manager Web UI 中,导航到,校验是否已选择并同步带有
系统管理模块和所需Python 3 模块的SUSE Linux Enterprise Server 15 SP6 x86_64(或更高版本)。 -
部署 SUSE Linux Enterprise 15 SP6(或更高版本)客户端。
-
在 SUSE Manager Web UI 中,导航到客户端的页面。选择,并为客户端订阅
SUSE Linux Enterprise Server 15 SP6 x86_64(或更高版本)、系统管理模块和Python 3 模块通道。 -
选择客户端的。在
附加系统类型列表中启用Ansible 控制节点,然后单击 更新属性。 -
导航到客户端概览页面,选择,然后单击 应用 Highstate。
-
选择事件选项卡并校验 Highstate 的状态。
|
如果需要在 SUSE Linux Enterprise 15 SP4 或 SP5 客户端上安装更新版本的 Ansible,必须启用 |
|
较新的 Ansible 版本已不再支持管理使用过时 Python 版本的节点。如果受管节点仍然默认使用较旧 Python 版本,在运行剧本时可能会遇到连接错误或执行失败。为解决此问题,用户应在条件允许的情况下升级受管节点上的 Python,并在 Ansible 清单或配置中设置正确的 Python 解释器。 |
1. 创建 Ansible 清单文件
Ansible 集成工具会将剧本部署为清单文件。请为表 1 中列出的每个操作系统创建一个清单文件。
-
创建主机并将其添加到由 Ansible 管理的清单文件。Ansible 清单的默认路径为
/etc/ansible/hosts。Listing 1. 清单示例client240.mgr.example.org client241.mgr.example.org client242.mgr.example.org client243.mgr.example.org ansible_ssh_private_key_file=/etc/ansible/some_ssh_key [mygroup1] client241.mgr.example.org client242.mgr.example.org [mygroup2] client243.mgr.example.org [all:vars] ansible_ssh_private_key_file=/etc/ansible/my_ansible_private_key
-
在 SUSE Manager Web UI 中的
Ansible选项卡内,导航到 ,将清单文件添加到该控制节点中。 -
在
剧本目录部分下,将/usr/share/scap-security-guide/ansible添加到添加剧本目录字段中,然后单击 保存。 -
在
清单文件下,将您的清单文件位置添加到添加清单文件字段,然后单击 保存。Listing 2. 示例/etc/ansible/sles15 /etc/ansible/sles12 /etc/ansible/centos7
有关更多剧本示例,请参见 https://github.com/ansible/ansible-examples。
2. 与 Ansible 节点建立通信
-
创建您要在清单中使用的 SSH 密钥。
ssh-keygen -f /etc/ansible/my_ansible_private_key
-
将生成的 SSH 密钥复制到 Ansible 受管客户端。示例:
ssh-copy-id -i /etc/ansible/my_ansible_private_key root@client240.mgr.example.org
-
如下所示在
/etc/ansible/ansible.cfg中声明私用密钥:private_key_file = /etc/ansible/my_ansible_private_key
请将
my_ansible_private_key替换为包含私用密钥的文件的文件名。 -
通过从控制节点执行以下命令来测试 Ansible 是否正常运行:
ansible all -m ping ansible mygroup1 -m ping ansible client240.mgr.example.org -m ping
现在您可以运行更新。有关详细信息,请参见 合规性即代码。