「Ansible」- 自动化工具

  CREATED BY JENKINSBOT

内容简介

本部分内容与Ansible有关。基于《Ansible快速入门:技术原理与实战》一书的内容,并结合官方文档,进行一系列的扩展。

Ansible ?

通过SSH服务,批量管理远程主机。包括,复制文件、安装软件、管理服务等等。

解决的问题

批量操作远程主机:批量部署、批量启动、批量修改、批量重启……

系统架构

系统架构

管理节点 -> SSH协议 -> 远程主机(node0)
				 |-> 远程主机(node1)
				 |-> 远程主机(node2)
				 |-> ......

管理节点:安装「Ansible」「SSH客户端」的主机。
远程主机:运行「SSH」服务的主机。

可以同时管理各个系列的Linux发行版及Windows,主要是因为通过SSH访问管理远程主机,所以和远程主机系统的类型并无太大的关系。

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

相关链接

Ansible Documentation

Ansible Documentation / User Guide