- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
云计算 ⾃动化运维——Ansible详解及inventory⽂件配置
⽬录
⼀、认识Ansible
1、Ansible 是 么
2、为 么选择ansible
3、Ansible 是如何⼯作的
4、Ansible通信机制
5、Ansible应⽤场景
6、ansible执⾏流程
7、ansible⽣成的主要⽂件
⼆、Ansible安装、配置及使⽤
1、 在server1上安装ansible
2、熟悉ansible配置⽂件使⽤
3、参数及ansible命令的使⽤
4、 创建普通⽤户,执⾏分发任务
5、Inventory⽂件配置
6、Ansible与正则
⼀、认识Ansible
1、Ansible 是 么?
Ansible 是⼀个能实现批量部署的⾃动化运维⼯具, 集合了众多运维⼯具 (puppet、chef、func、fabric)的优点,实现了批量系统配置、
批量程序部署、批量运⾏命令等功能。帮助运维实现IT⼯作的⾃动化、降低⼈为操作失误、提⾼业务 ⾃动化率、提升运维⼯作效率。
常⽤于软件部署 ⾃动化、配置⾃动化、管理 ⾃动化、系统化系统任务、持续继承、零宕机平滑升级。
常见的部署⼯具有Chef、Puppet、Ansible、SaltStack、Fabric
ansible是基于 paramiko 开发的,并且基于模块化⼯作,本⾝没有批量部署的能⼒。真正具有批量部署的是ansible所运⾏的模
块,ansible只是提供⼀种框架。 ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。 ansible⽬前已经已经
被红帽官⽅收购,是 ⾃动化运维⼯具中⼤家认可度最⾼的,并且上⼿容易,学习简单。是每位运维⼯程师必须掌握的技能之⼀。
2、为 么选择ansible?
Ansible完全基于Python开发,⽽DevOps在国内已然是⼀种 趋势,Python已逐步普及,运维⼈员 ⾃⼰开发⼯具的门槛逐步降低,得
益于此,⽅便对Ansible⼆次开发。
Ansible丰富的内置模块,甚⾄还有专门为商业平台开发的功能模块,完全可以满⾜ ⽇常功能所需。
在Ansible去中⼼化概念下,⼀个简单的复制操作即可完成管理配置中⼼的迁移。
Agentless (⽆客户端),客户端⽆需任何配置,由管理端配置好后即可使⽤,更新时,只需在操作机上进⾏⼀次更新即可,这点⾮常
诱⼈。
配置简单、功能强⼤、扩展性强,通过Playbooks来定制强⼤的配置、状态管理。
3、Ansible 是如何⼯作的?
上图对应的模块功能如下 :
Ansible :Ansible核⼼程序。
Host Inventory :记录由Ansible管理的主机信息,包括端⼝、密码、ip等。
Playbooks :“剧本”YAML格式⽂件,多个任务定义在⼀个⽂件中,定义主机需要调⽤哪些模块来完成的功能。
CoreMod les :核⼼模块,主要操作是通过调⽤核⼼模块来完成管理任务。
C stomMod les :⾃定义模块,完成核⼼模块⽆法完成的功能,⽀持多种语⾔。
ConnectionPl gins :连接插件,Ansible和Host通信使⽤
补充 :
(1)Ansible使⽤者来源于多种维度,分为以下⼏种⽅式:
CMDB存储和管理着企业IT架构中的各项配置信息,运维⼈员可以组合CMDB和Ansible,通过CMDB直接下发指令调⽤Ansible⼯具
集完成操作者所希望达成的⽬标。
基于PUBLIC (公有云)/PRIVATE (私有云),Ansible以API调⽤的⽅式运⾏,Ansible提供了丰富的API语⾔接⼝:PHP、Python
等。
直接使⽤Ad-Hoc临时集调⽤Ansible⼯具集来完成任务执⾏。
通过执⾏Playbooks中预先编排好的任务集按序完成任务执⾏。
(2)Ansible⼯具集 (ansible命令是Ansible的核⼼⼯具,总指挥)
INVENTORY :命令执⾏的⽬标对象配置⽂件
API:供第三⽅程序调⽤的应⽤程序编程接⼝
MODULES :丰富的内置模块
PLUGINS :内置和 ⾃定义的插件
(3)作⽤对象
Ansible的作⽤
文档评论(0)