该笔记将记录:与 Ansible 有关的内容。其基于《Ansible 快速入门:技术原理与实战》的内容,并结合官方文档,进行一系列的扩展。
认识
文档:https://docs.ansible.com/ansible/latest/index.html
Ansible,其通过 SSH 服务,
- 来批量管理远程主机,例如,复制文件、安装软件、管理服务、……
- 来批量操作远程主机,例如,批量部署、批量启动、批量修改、批量重启……
补充说明,
组成
系统架构
管理节点 -> SSH 协议 -> 远程主机(node0) |-> 远程主机(node1) |-> 远程主机(node2) |-> ......
管理节点:安装「Ansible」「SSH 客户端」的主机。
远程主机:运行「SSH」服务的主机。
可以同时管理各个系列的 Linux 发行版及 Windows,主要是因为通过 SSH 访问管理远程主机,所以和远程主机系统的类型并无太大的关系。
构建
—— 安装(Linux)
Ansible Docs/Installation Guide
YUM – Install Specific Version of Package
CentOS 7.4 and Ansible 2.8.4
# 10/17/2019
yum search ansible yum list ansible --showduplicates yum install -y ansible-2.8.5-1.el7
相关链接
Installation Guide
Ansible Porting Guides
改进
Ansible Tower
面向企业用户的收费软件。解决了如下问题:
- 维护工作量大:每台主机都要配置 SSH 连接。如果每个管理员运行了自己的 Ansible,那每个管理员都要配置到每台服务器的 SSH 连接。而且每增加一台主机,所有管理员都需要手动添加一次 SSH 连接信息。
- 安全隐患大:在安全方面,为了连接服务器,那每个管理员都有了远程主机的连接信息。
- 协同性弱:每个管理员都可能有自己的脚本库,有的脚本可能是为了解决同一个问题,但管理员之间没有一个通用的协作共享脚本的机制。
- 可视性差:基本一般通过 Shell 终端运行,执行结果的可视化与持久化相对较差。
使用 Ansible Tower 通过网页界面来操作 Ansible、执行命令、Playbook 等等:
/ - - - Node 5 Ansible Administrator - - -\ / - - - Node 3 \ / - - - Node 1 Ansible Administrator - - - — - Ansible Tower - - - - - - - Node 0 / \ - - - Node 2 Ansible Administrator - - -/ \ - — - Node 4 \ - — - Node 6