11.18. 使用 nbde_client 系统角色设置多个 Clevis 客户端

按照步骤准备和应用包含 Clevis 客户端设置的 Ansible playbook。

注意

nbde_client 系统角色只支持 Tang 绑定。这意味着您目前无法将其用于 TPM2 绑定。

先决条件

  • 对一个或多个 受管节点 的访问和权限,这些节点是您要使用 nbde_client 系统角色配置的系统。
  • 控制节点 的访问和权限,这是 Red Hat Ansible Core 配置其他系统的系统。
  • Ansible Core 软件包安装在控制机器上。
  • rhel-system-roles 软件包安装在您要运行 playbook 的系统中。

步骤

  1. 准备包含 Clevis 客户端设置的 playbook。您可以从头开始,或使用 /usr/share/ansible/roles/rhel-system-roles.nbde_client/examples/ 目录中的一个 playbook 示例。

    # cp /usr/share/ansible/roles/rhel-system-roles.nbde_client/examples/high_availability.yml ./my-clevis-playbook.yml
  2. 在您选择的文本编辑器中编辑 playbook,例如:

    # vi my-clevis-playbook.yml
  3. 添加所需参数。以下 playbook 示例配置 Clevis 客户端,以便在两个 Tang 服务器中至少有一个可用时自动解锁两个 LUKS 加密卷:

    ---
    - hosts: all
    
      vars:
        nbde_client_bindings:
          - device: /dev/rhel/root
            encryption_key_src: /etc/luks/keyfile
            servers:
              - http://server1.example.com
              - http://server2.example.com
          - device: /dev/rhel/swap
            encryption_key_src: /etc/luks/keyfile
            servers:
              - http://server1.example.com
              - http://server2.example.com
    
      roles:
        - rhel-system-roles.nbde_client
  4. 应用完成的 playbook:

    # ansible-playbook -i host1,host2,host3 my-clevis-playbook.yml
重要

通过使用在安装了 Clevis 的系统上的 grubby 工具来确保在早期引导期间 Tang pin 的网络可用:

# grubby --update-kernel=ALL --args="rd.neednet=1"

其他资源

  • 有关 NBDE 客户端系统角色的参数和附加信息,请安装 rhel-system-roles 软件包,并查看 /usr/share/doc/rhel-system-roles/nbde_client//usr/share/ansible/roles/rhel-system-roles.nbde_client/ 目录。