搜索

3.5. 使用 Ansible 自动化配置任务

download PDF

Ansible 是一个自动化工具,用于配置系统、部署软件和执行滚动更新。Red Hat Virtualization 包括了一个有限的 Ansible 版本,可自动执行 RHV 安装后的任务,如数据中心设置和配置、管理用户和虚拟机操作。

与 REST API 和 SDK 相比,Ansible 提供了更简单的方法自动化 Red Hat Virtualization 配置,并可与其他 Ansible 模块集成。有关 Red Hat Virtualization 可用 Ansible 模块的更多信息,请参阅 Red Hat Ansible Automation Hub 文档中的 oVirt Ansible Collection

注意

Ansible Tower 是通过 Web 界面和 Ansible 的 REST API 访问的图形化启用了框架。如果您想要对 Ansible Tower 的支持,则必须具有 Ansible Tower 许可证,它不属于 Red Hat Virtualization 订阅。

有关使用 Ansible 的替代安装说明,请参阅 Ansible 文档

3.5.1. oVirt Ansible Collection

oVirt Ansible Collection 提供了用于管理 Red Hat Virtualization 基础架构的各个部分的模块、角色和插件。模块用于 Ansible 和 Red Hat Virtualization Manager 之间的通信。Ansible 角色提供了一种方法来模块化 Ansible 代码,可将大型 playbook 划分为可被其他用户共享的较小可重复使用的文件。有关 oVirt Ansible Collection 的更多信息,请参阅 Automation Hub 文档。

3.5.1.1. 从 RPM 软件包安装 oVirt Ansible Collection

您可以从 Red Hat Virtualization Manager 仓库安装 oVirt Ansible Collection for Red Hat Virtualization。

前提条件

要安装 oVirt Ansible Collection,您必须订阅以下订阅频道之一:

  • 使用 Red Hat Virtualization 订阅 - rhv-4.4-manager-for-rhel-8-x86_64-rpms
  • 使用任何 Red Hat Enterprise Linux 订阅 - rhv-4-tools-for-rhel-8-x86_64-rpms

流程

  1. 运行以下命令,在 Manager 机器上安装 oVirt Ansible Collection

    # dnf install ovirt-ansible-collection
  2. 默认情况下,集合会被安装到:

    /usr/share/ansible/collections/ansible_collections/redhat/rhv.

    ovirt-ansible-collection 软件包的结构如下:

    /usr/share/ansible/collections/ansible_collections/redhat/rhv/usr/share/doc/ovirt-ansible-collection/

3.5.1.2. 从 Automation Hub 安装 oVirt Ansible Collection

Automation Hub 是一个新的位置,可用于安装 oVirt Ansible Collection。要配置环境,请按照 oVirt Ansible Collection 文档 中的说明操作。

流程

  1. 安装集合

    # ansible-galaxy collection install redhat.rhv
  2. Automation Hub 目前没有安装 RPM 依赖项。请确定您在执行 playbook 的主机上有这些软件包:

    • python3-ovirt-engine-sdk4
    • python3-netaddr
    • python3-jmespath
    • python3-passlib

3.5.1.3. 使用 oVirt Ansible Collection 配置 Red Hat Virtualization

以下流程指导您创建并运行使用 oVirt Ansible Collection 配置 Red Hat Virtualization 的 playbook。本例使用 Ansible 连接到本地计算机上的 Manager 并创建一个新的数据中心。

前提条件

  • 确保在运行 playbook 的机器上安装了 Python SDK。

流程

  1. 创建 playbook。

    - name: RHV infrastructure
      hosts: localhost
      connection: local
      gather_facts: false
    
      vars_files:
       # Contains variables to connect to the Manager
       - engine_vars.yml
       # Contains encrypted engine_password variable using ansible-vault
       - passwords.yml
    
      pre_tasks:
       # The use of redhat.rhv before ovirt_auth is to check if oVirt Ansible Collection is correctly loaded
       - name: Login to RHV
         redhat.rhv.ovirt_auth:
           hostname: "{{ engine_fqdn }}"
           username: "{{ engine_user }}"
           password: "{{ engine_password }}"
           ca_file: "{{ engine_cafile | default(omit) }}"
           insecure: "{{ engine_insecure | default(true) }}"
         tags:
           - always
    
     vars:
       data_center_name: mydatacenter
       data_center_description: mydatacenter
       data_center_local: false
       compatibility_version: 4.4
    
     roles:
       - infra
     collections:
       - redhat.rhv
     post_tasks:
       - name: Logout from RHV
         ovirt_auth:
           state: absent
           ovirt_auth: "{{ ovirt_auth }}"
         tags:
           - always

您已成功使用 oVirt Ansible Collectioninfra Ansible 角色来创建名为 mydatacenter 的数据中心。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.