2019/03/22 Ansible工作架构和原理

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_42227818/article/details/88746424

**iaas 基础架构即服务 (买的虚拟机,模拟硬件环境
saas 软件即服务(所有操作都做好了,直接拿来用就可以,钉钉
paas 平台即架构 **

google的浏览器有应用市场,可以直接运行office
office online

在这里插入图片描述
想在两个虚拟机上指向同一个命令,有一个比较土的方法
在这里插入图片描述
在这里插入图片描述
发布命令到所有窗口
在这里插入图片描述
如果有一百台机器就需要打开100个窗口,而且每台机器命令可能有细微差别,土办法就不合适
在这里插入图片描述
ansible开发者是看安德的游戏,一光年远程操控,所以ansible做出来就是为了远程控制方便的,用python
ansible和saltstack是有点区别
ansible一般不用配置代理(policy,

一般用的软件我们是用c/s
一个系统控制多台主机,就叫c/s不合适,应该叫主控端,被控端

在这里插入图片描述
怎么让被控端被控制 ,一种是装代理,相当于间谍
一种是无代理,基于ssh服务(一般都带有ssh服务

在这里插入图片描述
基于key的验证,是实现ansible的基本要求
saltstack是基本基于代理的,有专门的代理程序,适合更大的环境,性能好一点

在这里插入图片描述
在这里插入图片描述
ansible特性
在这里插入图片描述
PAM也是模块化
每个模块等于linux一个命令,也有不同的参数
ansible基于ssh,无代理的远程控制
shell expect awk sed都是语言
幂等性:一个任务指向一遍和执行N遍效果是一样的,不会因为重复执行带来意外情况
(创建一个账号,如果第二次还创建,这个账号如果存在,就不会 去执行了)

在这里插入图片描述
角色就等于多个playbook的集合
在这里插入图片描述
ansible工作架构
ansible是主控端,
其他的是被控端
ansible要知道哪些主机是被控制的,有一个清单文件,记录哪些主机是被控制的
connection plugins链接插件
在公有云和私有云的也可以实现ansible的管理

在这里插入图片描述
cmdb配置管理数据库,管理系统
ansible主要有
inventory主机清单
api开发接口(支持二次开发,可以开发程序调用接口来进行管理)
modules模块
plugins插件

在这里插入图片描述
inventory清单
在这里插入图片描述
Ad-Hoc通过单条命令来实现管理方式
在这里插入图片描述
ansible是可以管理windows的,但是是基于linux平台开发的,不支持在windows里装ansible
在这里插入图片描述
如何配置ansible,被红帽1亿美金收购 了,nginx有社区版和商业版
在这里插入图片描述
在这里插入图片描述
可以用github把软件下载下来
也可以用pip下载,pip是python包的管理器

在这里插入图片描述
主要实现yum
在这里插入图片描述
在这里插入图片描述
三个不同的地址,作为被控端
在这里插入图片描述
在这里插入图片描述
**配置系统,设置任务执行的顺序,部署省事,不需要安装其他的软件,代理
**在这里插入图片描述
jinjia2模版语言
在这里插入图片描述
主配置文件一般不动
主机清单,要把管理的主机放到这个文件,否则不知道需要管理哪台主机

在这里插入图片描述
对应的命令,使用软链接来指向的,带来的好处就是,升级方便,修改一个软链接就可以 了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
是配置ansible的首要任务
在这里插入图片描述
ansble对应的单个模块命令
在这里插入图片描述
要控制主机必须要加到清单里
在这里插入图片描述
ansible的ping命令不是ping,是走 ssh协议
在这里插入图片描述
不可到达,因为凭什么对方主机收到消息就要回应你,这就太不安全,所以一般是基于key验证,现在
输入-k,先进行用户名密码验证

在这里插入图片描述
ssh服务有点慢就可以修改配置文件
在这里插入图片描述
在这里插入图片描述
成功
在这里插入图片描述
但是管理的并不仅仅是一台主机
在这里插入图片描述
如果有的主机密码不同,ansible只会问一次密码,就会用这个密码去访问所有主机
而且次序也不是你希望的次序,所以输入口令的方式也只适合所以主机口令都一样的情况下
所以一般基于key验证

在这里插入图片描述
上次输入密码失败就会造成不信任
all代表主机清单里的所有主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
也可以分组
在这里插入图片描述
还可以这么写,写名字就需要dns解析
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
默认基于key验证,-k是密码
在这里插入图片描述

ssh-keygen 生成私钥对
ssh-copy-id 把公钥复制过去
要把ansible控制的主机拷贝到对应所有的主机上

猜你喜欢

转载自blog.csdn.net/qq_42227818/article/details/88746424
今日推荐