当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

【干货】自动化运维工具—ansible攻略

发布作者:微思网络   发布时间:2016-12-21   浏览量:0

说到运维工具大家肯定会想到很多实用又便捷的工具,下面给大家介绍一个超酷又简单的工具,希望大家能用的上手。

ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。


一、什么样的情形需要批量部署

1、操作系统的安装

常见的有collber,red hat satelite(redhat)系统专用。

2、操作系统的配置

常见的有cfengine,puppet,chef,func。其中puppet最受欢迎

3、批量程序的部署

4、批量命令的运行查看状态信息

二、ansible介绍

ansible的架构大致如下

厦门数据库培训ansible的架构大致如下

ansible是新出现的运维工具是基于Python研发的糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能。

	 运维工具常见的工作模式   
    1、agent模式: 基于ssl实现。代理工作在被监控端。像puppet。   
    2、agentless模式: 基于ssh服务实现工作在被监控端。监控端是ssh的客户端。  
ansible是工作在agentless模式下具有幂等性。ansible在控制端只需要告诉监控端的期望状态就可以实现批量部署。

    名词解释   
    幂等性不会重复执行相同的指令。例如不会重复安装软件   
    期望状态只需要告诉被监控端的期望状态  

ansible是基于模块工作的ansible本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块ansible只是提供一种框架。架构包括
    连接插件connection plugins负责和被监控端实现通信。
    Host Inventory:指定操作的主机,是一个配置文件里面定义监控的主机
    各种模块核心模块command模块自定义模块
    借助于插件完成记录日志邮件等功能
    PlayBooks:剧本执行多个任务时。并非必需可以让节点一次性运行多个任务

三、ansible的基本使用
    安装软件yum install ansible -y # 对应的软件在 epel 仓库中也可自己手动编译   
    #源码地址 https://pypi.python.org/packages/source/a/ansible/ansible-1.5.tar.gz  

厦门数据库培训ansible的安装实例 


3

2、在控制端添加添加用户。user模块

厦门数据库培训user模块的操作

3、实现ssh秘钥认证。shell、copy模块

6


此时就可以实现基于ssh秘钥通信了此时/etc/ansible/hosts可以修改如下

7

4、安装软件和启动服务。yum、service模块

厦门数据库的yum、service模块

9

5、支持管道的命令。raw模块,类似于shell模块

wKioL1QaeV6QK9YUAACu77PB1cY454.jpg


结果示例

厦门数据库培训的结果示例

查看端口

12

此时如果配置文件发生变化

13

至此基本使用配置完成。



返回顶部