「Tower and AWX」

#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

参考文献

Ansible Tower alternative