首页 存档 技术 查看内容

Linux自动化运维工具之ansible(一)

2018-3-30 13:00 |来自: 互联网 412 0

摘要: 豌豆贴心提醒,本文阅读时间5分钟 运维自动化是运维发展的必然方向,同时也是一个运维工程师实现效率最大化的必然选择。 运维自动化的知识可以说是浩瀚如海,本文将选择其中一个工具ansible为大家介绍一下。 一、哪 ...

豌豆贴心提醒,本文阅读时间5分钟


运维自动化是运维发展的必然方向,同时也是一个运维工程师实现效率最大化的必然选择。

运维自动化的知识可以说是浩瀚如海,本文将选择其中一个工具ansible为大家介绍一下。

一、哪些工作需要批量部署

1、操作系统的安装

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

2、操作系统的配置

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

3、批量程序的部署

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

二、ansible介绍

ansible的架构大致如下

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

1

2

3

运维工具常见的工作模式

1、agent模式:基于ssl实现。代理工作在被监控端。像puppet。

2、agentless模式:基于ssh服务实现工作在被监控端。监控端是ssh的客户端。

ansible是工作在agentless模式下具有幂等性。ansible在控制端只需要告诉监控端的期望状态就可以实现批量部署。

1

2

3

名词解释

幂等性不会重复执行相同的指令。例如不会重复安装软件

期望状态只需要告诉被监控端的期望状态

ansible是基于模块工作的ansible本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块ansible只是提供一种框架。架构包括

连接插件connection plugins负责和被监控端实现通信。

Host Inventory:指定操作的主机,是一个配置文件里面定义监控的主机

各种模块核心模块command模块自定义模块

借助于插件完成记录日志邮件等功能

PlayBooks:剧本执行多个任务时。并非必需可以让节点一次性运行多个任务

三、ansible的基本使用

1

2

安装软件yuminstallansible-y#对应的软件在epel仓库中也可自己手动编译

#源码地址https://pypi.python.org/packages/source/a/ansible/ansible-1.5.tar.gz


1

2

3

4

5

6

7

8

9

10

11

12

2、定义HostInventory

#vim/etc/ansible/hosts

[webhosts]

172.16.10.22ansible_ssh_user=rootansible_ssh_pass=guoting

172.16.10.33ansible_ssh_user=rootansible_ssh_pass=guoting

解释

#ansible_ssh_user=root是ssh登陆用户

#ansible_ssh_pass=guoting是ssh登陆密码3、测试各个模块

#注意每个模块的用法可以使用ansible-docMOD来查看例如ansible-doccopy

ansible命令最常用的用法

ansible

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类