博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/03/22 Ansible工作架构和原理
阅读量:3923 次
发布时间:2019-05-23

本文共 1596 字,大约阅读时间需要 5 分钟。

**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控制的主机拷贝到对应所有的主机上

转载地址:http://zkkgn.baihongyu.com/

你可能感兴趣的文章
杭电oj-2018 母牛的故事 C++
查看>>
Educational Codeforces Round 87 (Rated for Div. 2)----题目+题解(A、B)
查看>>
Codeforces Round #647 (Div. 2) - Thanks, Algo Muse!B. Johnny and His Hobbies(异或)---题解
查看>>
使用WinINet获取网页源代码
查看>>
Ansi、Unicode、UTF-8字符串之间的转换和写入文本文件
查看>>
error C1189:#error:This file requires _WIN32_WINNT to be #defined at least to 0x0403
查看>>
CentOS yum 源的配置与使用
查看>>
error while loading shared libraries: libevent-2.0.so.5 安装好mamcache,启动服务时
查看>>
c++ web编程:写出你的CGI程序
查看>>
Linux RPM 命令参数使用详解 查看 rpm包依赖性
查看>>
xz压缩命令
查看>>
Mysql各种存储引擎对比总结(常用几种)
查看>>
java为我们已经提供了各种锁,为什么还需要分布式锁?
查看>>
一文带你理解mysql中的分区表和合并表(一个常见知识点)
查看>>
Redis5.0数据淘汰策略详解(最新版本,面试常问)
查看>>
为什么 MongoDB 索引选择B-树,而 Mysql 选择B+树(精干总结)
查看>>
面试官:说说 Springboot 中的 javaConfig(基于Spring5.2)
查看>>
你的钱为什么被转走,这篇文章告诉你答案(CSRF详解)
查看>>
JVM中的一个小知识点:深堆和浅堆的概念
查看>>
HashMap的负载因子初始值为什么是0.75?这篇文章以最通俗的方式告诉你答案
查看>>