ansible是近年很火的一款批量管理、配置、部署和任务编排的自动化运维工具,安装很简单,基于centos系统,只需要通过yum安装即可。通过ssh协议管理主机,无需安装客户端,而ansible则以命令的形式存在,没有守护进程,很轻量,以上就是粗略的介绍,暂不详谈。

ansible的简单优化

  由于是通过ssh协议通信,所以当批量跑任务时会很慢,通过查找资料,发现可以通过开启ssh的ControlPersist来达到提高ansible执行效率的目的。

ControlPersist的配置路径“~/.ssh/config”
[root@test ~]# cat .ssh/config   #直接添加文件,无需重启ssh服务
Host *
     ControlPersist yes
     ControlMaster auto
     ControlPath ~/.ssh/%r@%h-%p
     Compression yes

[root@test ~]# time ssh root@10.0.0.50 hostname
docker-1

real	0m0.139s
user	0m0.021s
sys	0m0.008s
[root@test ~]# time ssh root@10.0.0.50 hostname
docker-1

real	0m0.035s
user	0m0.003s
sys	0m0.007s
安装cmc查看持久化ssh是否生效
git clone https://github.com/ClockworkNet/cmc.git 
[root@test ~]# cmc -l
10.0.0.50
  Master running (pid=11659, cmd=ssh: /root/.ssh/root@10.0.0.50-22 [mux], start=14:23:36)
  Socket: /root/.ssh/root@10.0.0.50-22