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 == =========================== ========= =======