设置 Ansible 控制节点

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

要将客户端配置为 Ansible 控制节点,必须在该系统上安装 Ansible 软件包。 通常,Ansible 软件包应从操作系统供应商的官方软件库中获取。 例如,在 SUSE Linux Enterprise 15 SP6 和 SP7 上,Ansible 可通过 Systems Management Module. 获得。

过程:升级在 SUSE Linux Enterprise 15 SP6 或 SP7 系统上设置 Ansible 控制节点
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 管理  设置向导  产品,验证是否已选择并同步了 SUSE Linux Enterprise Server 15 SP6 x86_64(或更高版本)以及 Systems Management Module 和所需的 Python 3 Module

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

  3. 在 SUSE Multi-Linux Manager Web UI 中,导航到客户端的 系统  概览 页面。 选择 软件  软件频道,并将客户端订阅到 SUSE Linux Enterprise Server 15 SP6 x86_64(或更高 SP 版本)、Systems Management ModulePython 3 Module 频道。

  4. 选择 详细信息  属性。 从 Add-On System Types 列表中启用 Ansible Control Node 并单击 更新属性

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

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

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

更新版本的 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_public_key_file=/etc/ansible/my_ansible_private_key
  2. 在 SUSE Multi-Linux Manager Web UI 中,从 Ansible 选项卡导航到 Ansible  控制节点 以将清单文件添加到控制节点。

  3. Playbook Directories 部分下,将 /usr/share/scap-security-guide/ansible 添加到 Add a Playbook Directories 字段,然后单击 保存

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

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

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

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

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

    ssh-copy-id -i /etc/ansible/my_ansible_public_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

现在您可以运行修复。 有关更多信息,请参见 合规性即代码