如何在 CentOS 7/RHEL 7 上安装和配置 Tower-cli 工具

Tower-cli 是 Ansible Tower 的命令行工具。
它允许从 Unix 命令行轻松运行 Ansible Tower/AWX 命令。
它也可以用作其他 python 应用程序的客户端库,或者作为其他人使用 Tower 的 REST API 开发 API 交互的参考。

在本教程中,我们将介绍使用 yum 包管理器和 Python pip 工具在 CentOS 7/RHEL 7 上安装和配置 Tower-cli 所需的步骤。

使用 Pip 安装 Tower-cli

01 Pip 在 CentOS 7 核心存储库中不可用。
要安装 pip,我们需要启用 EPEL 存储库:

# sudo yum install epel-release
# sudo yum install python-pip

02 安装 pip 后,我们现在可以使用以下命令安装 Tower-cli 工具:

# pip install ansible-tower-cli

使用 Yum 安装 Tower-cli

01 Tower-cli 工具在 CentOS 7 核心存储库中不可用。
要安装它,我们需要启用 Ansible Tower-cli 存储库:

# cat >> /etc/yum.repos.d/tower-cli.repo << EOF
[tower-cli]
baseurl = https://releases.ansible.com/ansible-tower-cli/rpm/epel-7-x86_64/
sslverify = 0
name = Ansible Tower-cli
enabled = 1
gpgcheck = 0
EOF

02 启用 Ansible Tower-cli 存储库后,我们可以使用以下命令安装 Tower-cli 工具及其所有依赖项:

# sudo yum install ansible-tower-cli

配置 Tower-cli 工具

运行以下命令打印 Tower-cli 版本:

# tower-cli --version
Tower CLI 3.3.3

默认情况下, Tower-cli 使用 https 协议连接到 Ansible Tower 。
使用以下命令设置 Ansible Tower/AWX 的位置:

# tower-cli config host IP_ADDRESS_ANSIBLE_TOWER
Configuration updated successfully.

使用以下命令设置“用户名”以用于对 Ansible Tower/AWX 进行身份验证:

# tower-cli config username YOUR_ANSIBLETOWER_USERNAME
Configuration updated successfully.

要设置“密码”以用于对 Ansible Tower/AWX 进行身份验证:

# tower-cli config password YOUR_ANSIBLE_TOWER_PASSWORD
Configuration updated successfully.

默认情况下,如果无法验证 Ansible Tower/AWX 服务器的 SSL 证书,则 Tower-cli 会引发错误。
要永久禁用不安全连接警告,请执行以下命令:

# tower-cli config verify_ssl False
Configuration updated successfully.

要预览 Tower-cli 的配置,请使用以下命令:

# tower-cli config
# User options (set with `tower-cli config`; stored in ~/.tower_cli.cfg).
host: http://ylplawxas01.onitroad.com:80
username: admin
password: password
verify_ssl: False
# Defaults.
use_token: False
verbose: False
certificate:
format: human
color: True
description_on: False
oauth_token:

要打印帮助,请运行以下命令:

# tower-cli --help

要列出 Ansible Tower 中的所有作业:

# tower-cli job list
== ============ =========================== ========== =======
id job_template           created             status   elapsed
== ============ =========================== ========== =======
 2            9 2019-04-04T08:47:08.221431Z successful 11.313
 3           10 2019-04-04T08:56:49.234493Z failed     6.397
 4           10 2019-04-04T09:23:23.728829Z successful 13.749
 5           10 2019-04-04T09:28:44.581402Z successful 15.92
== ============ =========================== ========== =======

要获取 Ansible Tower 中的所有主机:

# tower-cli host list
== =========================== ========= =======
id            name             inventory enabled
== =========================== ========= =======
 5 srv001.onitroad.com              5    true
 6 test02.onitroad.com              5    true
 7 srv002.onitroad.com              5    true
 8 test03.onitroad.com              5    true
== =========================== ========= =======
日期:2020-06-02 22:18:47 来源:oir作者:oir