笔记#运维自动化发展历程

本地部署:On-Premises

基础设施即服务:IaaS——Infrastructure  as a Service

平台即服务:PaaS——Platform  as  a  Service

软件即服务:SaaS——Software  as   a  Service

ansible的分享网站pages.GitHub.con网站

Ansible基本要求是基于key验证,不用每次输入口令

*Saltstack :基于Python开发,需要部署agent(需要代理),执行效率更高,适用于1000+台

*Puppet:基于ruby开发,功能强,配置复杂、重型,适合于大型环境

Fabric:基于Python开发,agebtless不需要代理

Chef:基于ruby开发,国内应用少

Cfengine

func

前三个重要,后面了解

Ansible是模块化的,用什么功能调用什么模块

有三个关键模块

1)Paramiko: 基于ssh开发的,ssh不用远程代理,

2)PyYAML:用来编写剧本的语言

3)Jinja2:模板语言

支持自定义模块:

支持playbook编排任务:就像编角本用于执行定期任务,循环任务

幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况,执行同一任务第一次成功,后续不会报错,一般用于playbook,脚本调试,执行成功的不会执行,不成功的报错,调试好再执行,

工作原理:

1.需要一个主角清单,知道哪些主机被控制

2.可以通过单一的(模块)命令控制,也可以用playbook控制

playbook也是一个一个模块执行的

3.连接插件,基于ssh协议实现,

*也可以通过公/私 云开发接口实现ansible管理

4.CMDB配置管理数据库通过absible远程管理

通过web界面(通过开发接口开发的界面)通过底层调用ansible的命令远程管理

Ansible重要组成:

ANSIBLE PLAYBOOK:任务剧本,编写ansible任务集的配置文件,顺序执行,通常是JSON格式的YML文件

INVENTORY:管理主机清单

MODULES:执行命令的模块,可以自定义

PLUGINS:模块功能的补充,如连接类插件,循环插件,变量插件等

API:供第三方程序调用的应用程序编程接口

ANSIBLE:组合上面的绿框,ansible命令工具,核心工具

end

猜你喜欢

转载自blog.csdn.net/lhl98765432/article/details/80549672