23.3. 使用 rhel_mgmt.redfish_command 模块管理带外控制器


您可以使用 redhat.rhel_mgmt 集合的 redfish_command 模块向 Redfish API 发送命令来远程管理带外(OOB)控制器。使用这个模块,您可以执行大量管理操作,例如:

  • 执行电源管理操作
  • 管理虚拟介质
  • 管理 OOB 控制器的用户
  • 更新固件
重要

当您使用此 Ansible 模块时,会涉及三个主机:控制节点、受管节点和执行实际操作的 OOB 控制器的主机。控制节点在受管节点上执行 playbook,受管主机使用 Redfish API 连接到远程 OOB 控制器。例如,如果您在 playbook 中设置 hosts: managed-node-01.example.combaseuri: server.example.com,则 managed-node-01.example.comserver.example.com 执行操作。

先决条件

  • 您已准备好控制节点和受管节点
  • 以可在受管主机上运行 playbook 的用户登录到控制节点。
  • 用于连接到受管节点的帐户具有 sudo 权限。
  • ansible-collection-redhat-rhel_mgmt 软件包安装在控制节点上。
  • 您有访问 OOB 控制器的凭证,这些凭证有更改设置的权限。
  • 受管节点可以通过网络访问远程 OOB 控制器。

流程

  1. 将您的敏感变量存储在一个加密文件中:

    1. 创建 vault :

      $ ansible-vault create ~/vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
      Copy to Clipboard
    2. ansible-vault create 命令打开编辑器后,以 <key>: <value> 格式输入敏感数据:

      redfish_usr: <username>
      redfish_pwd: <password>
      Copy to Clipboard
    3. 保存更改,并关闭编辑器。Ansible 加密 vault 中的数据。
  2. 创建一个包含以下内容的 playbook 文件,如 ~/playbook.yml

    ---
    - name: Send commands to OOB controller by using the Redfish API
      hosts: managed-node-01.example.com
      vars_files:
        - ~/vault.yml
      tasks:
        - name: Power on the system
          redhat.rhel_mgmt.redfish_command:
            baseuri: <uri>
            username: "{{ redfish_usr }}"
            password: "{{ redfish_pwd }}"
            category: Systems
            command: PowerOn
    Copy to Clipboard

    示例 playbook 中指定的设置包括以下内容:

    baseuri: <uri>
    定义 OOB 控制器的 URI。这是受管节点在其上执行操作的主机的 OOB 控制器。
    category: &lt ;value>

    设置要执行的命令类别。可用的类别如下:

    • 帐户 :管理 OOB 控制器的用户帐户。
    • 机箱 :管理与机箱相关的设置。
    • Manager :提供对 Redfish 服务的访问。
    • 会话 :管理 Redfish 登录会话。
    • 系统 (默认):管理机器相关的设置。
    • 更新 :管理固件更新相关操作。
    command: <command>
    设置要执行的命令。根据命令,可能需要设置额外的变量。

    如需关于 playbook 中使用的所有变量的详细信息,请在控制节点上使用 ansible-doc redhat.rhel_mgmt.redfish_command 命令来显示模块的文档。

  3. 验证 playbook 语法:

    $ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml
    Copy to Clipboard

    请注意,这个命令只验证语法,不会防止错误但有效的配置。

  4. 运行 playbook:

    $ ansible-playbook --ask-vault-pass ~/playbook.yml
    Copy to Clipboard
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat