自动化运维工具
SaltStack、Ansible、Puppet比较
1、SaltStack(一般用于大于1000台服务器的公司环境)
saltStack由Python编写,为server-client模式的系统,自己本身支持多master。
运行模式为master端下发指令,客户端接收指令执行。
saltstack依赖于zeromq消息队列,采用yaml格式编写配置文件,比较简单。
支持api及自定义python模块,能轻松实现功能扩展。
2、Ansible(应用于1000台以下服务器的环境)
类似与saltstack,基于python开发,关注的重点是精简和快速。
不需要在节点安装代理软件,通过ssh执行所有功能,安装运行简单。
其模块可以用任何语言开发,采用yaml格式编写配置文件。
没有客户端,较难扩展。
3、Puppet(慢慢的被市场淘汰)
puppet由Ruby编写,为server-client模式的系统。
运行时由客户端定时去获取自己的配置文件进而应用更改。
也可以通过master的push命令即可触发变更。
将命令,文件,服务等抽象成资源,概念比较统一,时间悠久,文档较多。
就可用操作,模块,用户界面等等功能而言,是三者之中最全面的。
安装部署难度一般,配置清单相对于其他工具较复杂。
Ansible篇
Ansible简介:
Ansible是什么?
Ansible属于自动化运维工具,基于python开发,实现批量程序部署,批量运行命令等功能。
Ansible是基于paramiko开发的,并且基于模块化工作,本身没用批量部署的的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。Ansible不需要在远程主机上安装配套的东西,英文他们是基于ssh来和远程主机通讯的。
Ansible特点
- 部署简单,只需要在服务器端部署ansible环境,客户端或者被控端无需做任何操作
- 默认使用ssh协议对设备进行管理;
- 有大量常规运维操作的模块,可实现日常基本覆盖
- 配置简单,功能强大,扩展性强;
- 轻量级,不需要在客户端安装anent,更新时,只需要在服务器的机器上操作更新
Ansible任务执行
Ansible系统由控制主机对被控制节点的操作方式可分为两类,adhoc和playbook
ad-hoc模式(点对点模式)
使用单个模块,支持批量执行单条命令。ad-hoc 命令是一种可以快速输入的命令,而且不需要保存起来的命令。就相当于bash中的一句话shell。
playbook模式(剧本模式)
是Ansible主要管理方式,也是Ansible功能强大的关键所在。playbook通过多个task集合完成一类功能,如Web服务的安装部署、数据库服务器的批量备份等。可以简单地把playbook理解为通过组合多条ad-hoc操作的配置文件。
操作环境的搭建
准备2台centos7的虚拟机
管理节点: 192.168.40.111
被管理节点: 192.168.40.1112、
在管理节点操作
#查询源
yum search ansible
#安装对应版本的yum源
yum -y install centos-release-ansible-29
#安装ansible
yum -y install ansible
ansible --version
#配置清单文件
vim /etc/ansible/hosts
#定义主机组
[webservers]
192.168.40.111
192.168.40.112
#ssh免密登录
#生成密钥对
ssh-key-gen
#复制公钥到被管理节点
ssh-copy-id root@192.168.189.172
ssh-copy-id root@192.168.189.173
----------------------------------------------
#可选操作:被管理节点ssh连接加速,在被管理节点操作
vim /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no
----------------------------------------------
#测试主机是否在线
ansible webservers -m ping
ansible常用模块
详见:https://blog.csdn.net/weixin_54632015/article/details/112769411
Ansible-playbook注册变量
详见 :https://blog.csdn.net/weixin_54632015/article/details/112769928
拓展saltstack自动化运维工具
https://blog.csdn.net/weixin_54632015/article/details/113992064


789

被折叠的 条评论
为什么被折叠?



