• 欢迎访问极客公园网站,WordPress信息,WordPress教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入极客公园 QQ群
  • Git主题现已支持滚动公告栏功能,兼容其他浏览器,看到的就是咯,在后台最新消息那里用li标签添加即可。
  • 最新版Git主题已支持说说碎语功能,可像添加文章一样直接添加说说,新建说说页面即可,最后重新保存固定连接,演示地址
  • 百度口碑求点赞啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊http://koubei.baidu.com/s/gitcafe.net
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏极客公园吧

(总结)CentOS 7 里使用自动化运维工具Ansible

原创总结 博客教主 9年前 (2015-07-22) 2909次浏览 0个评论

PS:开源的自动化运维部署工具,在以前的项目中应用过Puppet,研发部门也开发过一套自动化部署系统(主要基于java在web界面调用shell脚本部署),使用过程中都有各种不满意。最近尝试一个新一点的Ansible,发现非常好用。配置简单,功能强大。

一、简介与优点:
1、ansible是为类Unix系统开发的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、SaltStack、chef等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
2、Puppet、SaltStack、Chef这三个都采用C/S模式,每台被控机器都需要安装客户端,对于数量在数百台以上的机器上部署仍然有些麻烦。相比之下,Ansible无需安装服务端和客户端,只要SSH 验证即可。典型的“去中心化”思想。
3、使用简单,快速上手。以前在用Puppet之前,花了时间研究。本来使用Puppet就是想把自己从重复的事情中解放出来,结果为了简化一件事,而深入另一件复杂的事。
4、配置文件易读。Ansible 的主机定义文件使用 INI 格式,支持分组,能够指定模式;此外也能动态生成,这对管理云主机很有用。Playbook是YAML格式,比Puppet的DSL要易读易写很多。

二、安装与基本使用:
1、安装:
Ansible默认不在yum的默认库中,需要启用epel库。(建议用阿里云的库,下载速度最快。)

# cd /etc/yum.repos.d/
# wget http://mirrors.aliyun.com/repo/epel-7.repo
# yum install ansible -y

2、设置用于节点鉴权的SSH密钥:
在Ansible服务端生成密钥,并且复制密钥到各个被控节点中。

# ssh-keygen
# ssh-copy-id -i root@10.36.16.20

3、为Ansible定义节点清单
节点维护清单在配置文件/etc/ansible/hosts 里面。

[16-servers]
10.36.16.12
10.36.16.15
10.36.16.16
10.36.16.17
10.36.16.18
10.36.16.19
10.36.16.20
10.36.16.21
10.36.16.22

4、基本使用:
检查16-servers节点组的连通性:
ansible 16-servers -m ping

检查16-servers节点组的内核版本:
ansible 16-servers -m shell -a "uname -a"

检查16-servers节点组的磁盘使用情况并把结果输出到本地指定文件:
ansible 16-servers -m shell -a "df -Th" > /root/df.txt

5、常用模块用法:
shell和command的区别:shell模块支持管道符和变量等特殊字符,而command不支持。
command模块(执行远程命令)
ansible 16-servers -m command -a "uname -a"
shell模块(执行远程主机的shell/python脚本)
ansible 16-servers -m shell -a "/root/xxx.py"
script模块(在远程主机执行主控端的shell/python脚本)
ansible 16-servers -m script -a "/root/xxx.py"
raw模块(类似于command模块、支持管道传递)
ansible 16-servers -m raw -a "netstat -na|grep ESTABLISHED|wc -l"

先说这些了,更详细用法请参考官方文档:

http://docs.ansible.com/


极客公园 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:(总结)CentOS 7 里使用自动化运维工具Ansible
喜欢 (0)

您必须 登录 才能发表评论!