#6 Ansible Tower
6.1 为什么要用 Ansible Tower
在企业中,被管理的远程主机有成百上千台,每位管理员都需要配置所有主机的 SSH 连接,无疑工作量是巨大的。如果每位管理员的电脑上都存储了 SSH 密钥,那么如果管理员的工作出现变动,无疑会出现很多的安全隐患,尤其是线上产品使用的主机。
Ansible Tower 解决了企业级用户面临的上述难题,它是中心化的 Ansible 管理节点,远程主机管理员通过登录 Tower 来运行 Playbook,无须每位管理员都在自己的机器上配置 SSH 连接,提高了工作效率。另外,在 Tower 申有 SSH 使用权限的访问控制,即便有权限使用 SSH 秘钥的管理员,也不能直接看到 SSH 密钥的明文,从而确保了安全。
Ansible Tower 的主要功能:
- 用户和权限的管理。
- Ansible 命令行工具能做的事,通过 Tower 网站图形化界面都可以做。这也是 Tower 最重要的功能。
- 记录 Playbook 的所有执行结果,提供用户视角和主机视角的统计信息。
- 提供了 API 接口,让第三方平台可以根据 API 调用 Tower 的功能。
在 Tower 中执行操作和命令行中进行的操作是相对应的。在命令行中:
- 需要配置基于密钥的 SSH 连接。
- 把新的远程主机加到 inventory 中。
- 准备 Playbook 及其需要的所有文件。
- 运行 Playbook。
Ansible Tower 的主要功能和 Ansible 命令行的使用相对应。
Ansible 界面介绍:略过。
6.2 如何使用 Ansible Tower
安装:略过,参考官方手册
初始化:略过;
Ansible Tower 关于 Ansible 的功能是通过调用 Ansible 命令行实现的,如果登录 Ansible Tower,修改 Ansible 的配置文件,那么对 Ansible Tower 也是生效的。Ansible Tower 3.0.3 默认会安装 Ansible 2.1 命令行工具。但在该版本的 Tower 申正确配置 Extra 模块后,执行时会一直提示找不到相关模块的错误。这是因为 Ansible 2.1 对 Extra 模块的支持有 bug,登录到安装有 Ansible Tower 的服务器,手动升级 Ansible 到 2.2 以上的版本即可。
6.3 与第三方平台的整合
Ansible Tower 提供了标准的 REST API 来供第三方平台调用 Ansible Tower 的完整功能。
Ansible Tower 相关的命令行工具共有三个
- ansible-tower-service
- tower-manage
- tower-cli
Ansible Tower
ansible-tower 装以及破解(亲测可用)
Ansible Tower 3.2.x 企业版无限 hosts(二)
改进
替代品
1) Semaphore – Ansible Tower alternative
https://blog.utar.co/blog/semaphore-…er-alternative
https://ansible-semaphore.github.io/semaphore/
2) ansible-cmdb
https://alternativeto.net/software/ansible-cmdb/
3) Tensor – Ansible Tower free alternative
https://www.youtube.com/watch?v=FqwprZrIxKE
4) Foreman vs Ansible Tower
https://www.upguard.com/articles/for…-ansible-tower
5) AWX
AWX provides a web-based user interface, REST API, and task engine built on top of Ansible. It is the upstream project for Tower, a commercial derivative of AWX.
https://github.com/ansible/awx
5) Polemarch
https://github.com/vstconsulting/polemarch