0
点赞
收藏
分享

微信扫一扫

运维自动化之Ansible

一、ansible——自动化运维工具

1、Ansible 自动运维工具特点

Ansible 与 Saltstack 均是基于 Python 语言开发,Ansible 只需要在一台普通的服务器上运行即可,不需要在客户端服务器上安装客户端。因为 Ansible 是基于 SSH 远程管理,而Linux服务器大都离不开SSH,所以Ansible不需要为配置工作添加额外的支持。

Ansible 安装使用非常简单,而且基于上千个插件和模块实现各种软件、平台、版本的管理,支持虚拟容器多层级的部署。很多读者在使用 Ansible 工具时,认为 Ansible比 Saltstatck 执行效率慢,其实不是软件本身慢,是由于 SSH 服务慢,可以优化 SSH 连接速度及使用 Ansible 加速模块,满足企业上万台服务器的维护和管理。

2、Ansible 运维工具原理

Ansible分为控制端和被控端,主要是基于SSH协议去管理客户端,被控端是无需安装Agent插件的,Ansible会读取控制端hosts文件,根据文件中定义IP列表信息,调取本地的各个模块对被控端机器实现批量、并发的配置管理和维护,如果任务比较复杂可以写成PlayBook剧本进行分发管理;

Ansible 自动运维管理工具优点:

❑ 轻量级,更新时,只需要在操作机上进行一次更新即可;

❑ 采用 SSH 协议;

❑ 不需要去客户端安装 agent;

❑ 批量任务执行可以写成脚本,而且不用分发到远程就可以执行;

❑ 使用 python 编写的,维护更简单;

❑ 支持 sudo 普通用户命令;

❑ 去中心化管理。

注意事项:

  • 执行ansible的主机一般称为主控端,中控,master或堡垒机
  • 主控端Python版本需要2.6或以上
  • 被控端Python版本小于2.4,需要安装python-simplejson
  • 被控端如开启SELinux需要安装libselinux-python
  • windows 不能做为主控端

二、安装ansible

1、先安装epel源


#192.168.184.10
hostname ansible
su -

#192.168.184.20
hostname webserver
su -

#192.168.184.30
hostname mysql
su -

systemctl stop firewalld
setenforce 0

三、ansible命令模块

1、command模块

2、cron模块

3、user模块

4、group模块

5、copy模块

6、file模块

7、ping模块

8、service模块

9、shell模块

10、script模块

11、yum模块

12、setup模块

举报

相关推荐

0 条评论