也想出现在这里? 联系我们

Linux下的自动化运维工具ansible初探

作者 : 小编 本文共1938个字,预计阅读时间需要5分钟 发布时间: 2022-11-1 共1.03K人阅读
也想出现在这里? 联系我们

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

1、操作系统的安装

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

2、操作系统的配置

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

3、批量程序的部署

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

二、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需要先配置集群hosts列表以方便集群操作

复制代码

代码如下:

$ cat /etc/ansible/hosts[local]# 配置密码登陆,需要ansible本机安装sshpass192.168.213.135 ansible_ssh_user=root ansible_ssh_pass=root[zabbix]# 密钥登陆172.17.0.2:49154 ansible_ssh_user=root172.17.0.4:49155 ansible_ssh_user=root[vpn]172.17.0.10

测试连接登陆是否OK

复制代码

代码如下:

$ ansible local -m ping192.168.213.135 | success >> { \”changed\”: false, \”ping\”: \”pong\”}

ansible常见用法为ansible host-pattern -m 模块 -a 命令,host-pattern类似于简化的正则表达式,而模块可以通过ansible-doc -l命令来查询。下面是一些常用模块的使用方法:安装软件:

复制代码

代码如下:

ansible local -m apt -a ‘name=gcc state=present’

或者

复制代码

代码如下:

ansible local -m yum -a “name=nmap state=installed”

执行命令:

复制代码

代码如下:

ansible local -m shell -a ‘uptime’

拷贝文件:

复制代码

代码如下:

ansible local -m copy -a “src=/tmp/server dest=/tmp/server”

文件属性:

复制代码

代码如下:

ansible local -m file -a “dest=/tmp/server mode=755 owner=root group=root”

*playbookplaybook是由一个或多个“play”组成的列表。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色。 一个简单的playbook配置如下:

复制代码

代码如下:

– hosts: local remote_user: root tasks: – name: echo hi shell: echo \”hi\”

ansible还支持设置handlers,handlers是在执行tasks之后服务器发生变化之后可供调用的handler,使用起来如下:

复制代码

代码如下:

# playbook.yml—- hosts: local # hosts中指定 remote_user: root # 如果和当前用户一样,则无需指定 tasks: – name: whoami copy: src=~/hosts dest=~/hosts.dest # 本地拷贝到远端 notify: # 如果copy执行完之后~/hosts.dest文件发送了变化,则执行 – clear copy # 调用handler handlers: – name: clear copy shell: \’mv ~/hosts.dest hosts.del\’ # 假装删除

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux下的自动化运维工具ansible初探

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录