如何使用 AWX GUI 运行和安排 Ansible Playbook

[ad_1]

我们之前的文章我们已经演示了安装步骤 CentOS 8 和 RHEL 8 上的 Ansible AWX. Ansible AWX 是免费的开源版本 Red Hat Ansible Tower。 它提供了图形用户界面、Rest API 和 Ansible 任务引擎。

在本文中,我们将详细介绍 Ansible AWX GUI 的基本用法以及如何使用此工具运行和安排 Ansible Playbook。

AWX GUI 的实验室详细信息,

  • 192.168.1.6 // 已安装 Ansible AWX 系统 (CentOS 8)
  • 192.168.1.9 // Ansible 客户端 (CentOS 7)
  • 192.168.1.10 // Ansible 客户端(Ubuntu 18.04)
  • 所有机器与 NTP 服务器的时间同步
  • sysadm 用户 sudo 权利

让我们进入 AWX 基本用法和通过 AWX GUI 运行 Ansible playbook 的步骤,

步骤 1) 在 Ansible AWX 节点及其客户端之间设置基于密钥的身份验证

由于我们使用的是 sysadm 用户,因此我们会将这个用户的 ssh 密钥从 Ansbile AWX 系统交换到 ansible 客户端。

我假设 sysadm 用户已经在这些系统上创建并且拥有 sudo 权利。 使用以下命令从 AWX 节点为 sysadm 用户生成 SSH 密钥,并使用 ssh-copy-id 命令将其公钥共享给 ansible 客户端,

[[email protected] ~]$ ssh-keygen

现在将 sysadm 用户的公钥复制到客户端

[[email protected] ~]$ ssh-copy-id [email protected]
[[email protected] ~]$ ssh-copy-id [email protected]

验证基于密钥的身份验证是否已正确设置,运行以下命令,

[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
centos7 
[[email protected] ~]$ ssh  [email protected] "hostname;exit" 
Ubuntu-18-04 
[[email protected] ~]$

步骤 2) 在 AWX GUI 中创建组织

登录 Ansible AWX GUI 并转到 组织 通过点击“+”符号来创建一个组织,

接下来会提示我们输入 机构名称,

点击 Save

步骤 3) 创建一个项目并为其分配组织

在创建项目之前,让我们首先创建项目的目录,我们将在其中存储所有 ansible playbook,转到 AWX 节点的 cli 控制台并运行,

[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation

现在创建一个示例剧本来在 CentOS 和 Ubuntu 系统上安装 bind-utils 包,

[[email protected] ~]$ cd /var/lib/awx/projects/automation/
[[email protected] automation]$ sudo vi example.yaml
---
- hosts: all
  gather_facts: true
  become: true
  tasks:
    - yum:
        name: bind-utils
      when: ansible_os_family == "RedHat"
    - apt:
        name: dnsutils
      when: ansible_os_family == "Debian"

Save 并退出文件,

现在转到 AWX GUI,选择 项目 Tab 然后单击 + 符号以创建一个新项目并指定适合您设置的项目名称并指定其他详细信息,例如 组织 作为 ”LINUXTECHI”, 单片机类型 作为 ”手动的”, 项目基础路径 作为 ”/var/lib/项目”剧本目录 作为 ”自动化

点击 Save

第 4 步)创建凭据并添加私钥和其他详细信息

在目标 ansible 客户端上执行 playbook 时将使用这些凭据。 要获取 sysadm 用户的 SSH 私钥内容,请运行以下命令:

[[email protected] ~]$ cat ~/.ssh/id_rsa

现在,选择 证书 Tab 并单击“+”号以创建凭据并选择 凭证类型 作为 ”机器“, 选择 组织 作为 ”LINUXTECHI“, 用户名 作为 ”系统管理员”并将 sysadm 用户的私钥粘贴到“SSH 私钥” 部分,选择 ‘提权方式‘ 作为 ‘sudo‘, ‘提权用户名‘ 作为 ‘系统管理员‘ 和 ‘权限提升密码’ 作为 {password-of-sysadm-user}

点击保存,

步骤 5)创建一个清单,向其中添加主机并运行 ping 模块

要创建库存,请选择 存货 Tab 然后单击 + 号并指定 Inventory 的名称并选择组织为“LINUXTECHI“,

将主机添加到 前端 库存,在上面的窗口中选择保存选项,然后点击 主机 然后单击“+”符号开始添加主机,在“指定 IP 地址或主机名”主机名”字段,然后单击保存。

同样添加另一个主机“192.168.1.10”。

让我们尝试在其中一台主机上运行 ping 模块以验证连接性和凭据。 从清单中选择任何主机,然后单击“运行命令

在下一个窗口中,选择“‘从模块部分并选择“自动化凭证” 来自机器凭证,

点击启动,然后我们将得到以下屏幕,

完美,上面的窗口确认连接和凭据工作正常。 让我们进入下一步并创建模板。

步骤 5) 创建并运行作业模板

要创建作业模板,请选择“模板” Tab 和点击 + 符号并选择“工作模板

指定以下内容:

  • 名称:PKG 安装
  • 描述:安装 Bind Utils PKG
  • 工作类型:跑步
  • 库存:前端
  • 项目 : 自动化
  • 剧本:example.yaml
  • 凭据:自动化凭据
  • 选择“启用权限提升”

点击保存

现在尝试运行 Job 并查看 Job 是否成功执行,这里 Job 的执行只不过是使用我们在上述步骤中创建的凭据在库存上执行 Ansible playbook。

选择工作为“安装包” 然后点击 Rocket Symbol 来运行 Job,

我们将得到以下屏幕,如果 Job 或 Ansible Playbook 成功执行,那么我们应该会收到成功消息。

太好了,Job 执行成功,让我们调度这个 Job。

步骤 6) 调度作业模板

选择您要安排的工作模板,在我的情况下它将是“安装包”,然后选择“时间表” 选项并单击 + 符号以创建新计划,

让我们假设我们想要创建一个时间表,让 Job 每天在 16:00 执行,直到 4 月 30 日,

点击 Save 为作业模板启用此计划“安装包“。

这就是本文的全部内容,我希望这些步骤有助于理解 Ansible AWX GUI 的基本用法以及 Ansible Playbooks 如何通过 Job 模板执行。 请不要犹豫,分享您的反馈和意见。

[ad_2]

Related Posts