设置 Ansible 控制节点

要设置 Ansible 控制节点,请在 SUSE Manager Web UI 中执行以下步骤。

要将客户端配置为 Ansible 控制节点,必须在该系统上安装 Ansible 软件包。通常,Ansible 软件包应从操作系统供应商的官方软件储存库获取。例如,在 SUSE Linux Enterprise 15 SP6 及 SP7 上,可通过 系统管理模块获取 Ansible。

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 Linux Enterprise 15 SP6 或 SP7 系统上设置 Ansible 控制节点
  1. 在 SUSE Manager Web UI 中,导航到管理  安装向导  产品,校验是否已选择并同步带有系统管理模块和所需 Python 3 模块SUSE Linux Enterprise Server 15 SP6 x86_64(或更高版本)。

  2. 部署 SUSE Linux Enterprise 15 SP6(或更高版本)客户端。

  3. 在 SUSE Manager Web UI 中,导航到客户端的系统  概览页面。选择软件  软件通道,并为客户端订阅 SUSE Linux Enterprise Server 15 SP6 x86_64(或更高版本)、系统管理模块Python 3 模块通道。

  4. 选择客户端的细节  属性。在附加系统类型列表中启用 Ansible 控制节点,然后单击 更新属性

  5. 导航到客户端概览页面,选择状态  Highstate,然后单击 应用 Highstate

  6. 选择事件选项卡并校验 Highstate 的状态。

如果需要在 SUSE Linux Enterprise 15 SP4 或 SP5 客户端上安装更新版本的 Ansible,必须启用 Python 3 模块

较新的 Ansible 版本已不再支持管理使用过时 Python 版本的节点。如果受管节点仍然默认使用较旧 Python 版本,在运行剧本时可能会遇到连接错误或执行失败。为解决此问题,用户应在条件允许的情况下升级受管节点上的 Python,并在 Ansible 清单或配置中设置正确的 Python 解释器。

1. 创建 Ansible 清单文件

Ansible 集成工具会将剧本部署为清单文件。请为表 1 中列出的每个操作系统创建一个清单文件。

过程:创建 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
  2. 在 SUSE Manager Web UI 中的 Ansible 选项卡内,导航到 Ansible  控制节点,将清单文件添加到该控制节点中。

  3. 剧本目录部分下,将 /usr/share/scap-security-guide/ansible 添加到添加剧本目录字段中,然后单击 保存

  4. 清单文件下,将您的清单文件位置添加到添加清单文件字段,然后单击 保存

    Listing 2. 示例
    /etc/ansible/sles15
    /etc/ansible/sles12
    /etc/ansible/centos7

    有关更多剧本示例,请参见 https://github.com/ansible/ansible-examples

2. 与 Ansible 节点建立通信

过程:与 Ansible 节点建立通信
  1. 创建您要在清单中使用的 SSH 密钥。

    ssh-keygen -f /etc/ansible/my_ansible_private_key
  2. 将生成的 SSH 密钥复制到 Ansible 受管客户端。示例:

    ssh-copy-id -i /etc/ansible/my_ansible_private_key root@client240.mgr.example.org
  3. 如下所示在 /etc/ansible/ansible.cfg 中声明私用密钥:

    private_key_file = /etc/ansible/my_ansible_private_key

    请将 my_ansible_private_key 替换为包含私用密钥的文件的文件名。

  4. 通过从控制节点执行以下命令来测试 Ansible 是否正常运行:

    ansible all -m ping
    ansible mygroup1 -m ping
    ansible client240.mgr.example.org -m ping

现在您可以运行更新。有关详细信息,请参见 合规性即代码