ansible系列(1)--ansible基础
1. ansible概述
Ansible是一个 IT 自动化的“配置管理”工具,自动化主要体现在Ansible集成了丰富模块,以及强大的功能组件,可以通过一个命令行完成一系列的操作。进而能减少我们重复性的工作,以提高工作的效率。- 创始人,
Michael DeHaan(Cobbler与Func的作者)。 - 2015-10-17,
Red Hat宣布收购。
1.1 ansible的功能
- 批量执行远程命令,可以对N多台主机同时进行命令的执行。
- 批量配置软件服务,可以进行自动化的方式配置和管理服务。
- 实现软件开发功能,
jumpserver底层使用ansible来实现的自动化管理。 - 编排高级的IT任务,
Ansible的Playbook是一门编程语言,可以用来描绘一套 IT 架构。
1.2 ansible的特性
- 容易学习:无代理,基于
SSH实现,不像saltstack既要学客户端与服务端,还需要学习客户端与服务端中间通讯协议; - 操作灵活:
Ansible有较多的模块,提供了丰富的功能、playbook则提供类似于编程语言的复杂功能; - 简单易用:体现在
Ansible一个命令可以完成很多事情; - 安全可靠:因为
Ansible使用了SSH协议进行通讯,既稳定也安全; - 移植性高:可以将写好的
playbook拷贝至任意机器进行执行; - 幂等性:一个任务执行1遍和执行n遍效果一样,不会因为重复执行带来意外情况;
1.3 ansible的架构

ANSIBLE PLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,通常是JSON格式的YAML文件;INVENTORY:Ansible管理主机的清单/etc/anaible/hosts;MODULES:Ansible执行命令的功能模块,多数为内置核心模块,也可自定义;PLUGINS:模块功能的补充,如连接类型插件、循环插件、变量插件、过滤插件等,该功能不常用;API:供第三方程序调用的应用程序编程接口;Ansible主要操作对象:HOSTS主机,主机组和NETWORKING网络设备;
利用ansible实现管理的方式:
Ad-Hoc
即执行单条的ansible命令,主要用于临时命令使用场景;
Ansible-playbook
主要用于长期规划好的,大型项目的场景,需要有前提的规划;
执行过程:
将已有编排好的任务集写入
Ansible-Playbook通过
ansible-playbook命令分拆任务集至逐条ansible命令,按预定规则逐条执行。
1.4 ansible注意事项
- 执行
ansible的主机一般称为主控端,中控,master或堡垒机; - 主控端
Python版本需要2.6或以上; - 被控端
Python版本小于2.4需要安装python-simplejson; - 被控端如开启
SELinux需要安装libselinux-python; windows不能做为主控端;- 建议使用
ssh的秘钥验证方式管理被控主机;
ansible系列(1)--ansible基础的更多相关文章
- Ansible系列(五):playbook应用和roles自动化批量安装示例
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Ansible系列(七):执行过程分析、异步模式和速度优化
本文目录:1.1 ansible执行过程分析1.2 ansible并发和异步1.3 ansible的-t选项妙用1.4 优化ansible速度 1.4.1 设置ansible开启ssh长连接 1.4. ...
- Ansible系列(四):playbook应用和roles自动化批量安装示例
Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html playbook是ansible实现批量自动化最重要的手段.在其中可以使用变 ...
- Ansible系列(二):选项和常用模块
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Ansible系列(一):基本配置和使用
本文目录:1.1 安装Ansible1.2 配置Ansible 1.2.1 环境配置 1.2.2 SSH互信配置 1.2.3 简单测试1.3 inventory Ansible是一种批量.自动部署工具 ...
- Ansible系列(六):各种变量定义方式和变量引用
本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...
- Ansible系列(三):YAML语法和playbook写法
html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,h ...
- Ansible系列(六):循环和条件判断
本文目录:1. 循环 1.1 with_items迭代列表 1.2 with_dict迭代字典项 1.3 with_fileglob迭代文件 1.4 with_lines迭代行 1.5 with_ne ...
- Ansible第一章:基础认识--小白博客
ansible Ansible:Ansible的核心程序Host Lnventory:记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等.可以通过file来 ...
- Ansible系列(五):各种变量定义方式和变量引用
Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html 1.1 ansible facts facts组件是用来收集被管理节点信息的 ...
随机推荐
- 论 C++ 中 double 类型的优化问题
是这样的,我在 OI 出题中,std 习惯使用 double,但是求解,在大数据的情况下用 long double,小数据用 double. 虽然这样也没什么问题,但是在 std 中我是不开启 -O2 ...
- async/await 致WPF卡死问题
问题代码: xmal:一个按钮+一个显示框 1 <Button Width="100" Height="50" Margin="10" ...
- AT-abc347(C,D)
AtCoder Beginner Contest 347 C - Ideal Holidays 这场做得最头疼的题 分析 容易想到先用$(d_i+a+b-1)%(a+b)+1$把$d_i$映射到$[1 ...
- Pdfium.Net.Free 一个免费的Pdfium的 .net包装器--可视化编辑pdf
Pdfium.Net.Free 支持 .NETFramework 4.0 .NETFramework 4.5 .NETStandard 2.0 .Net8.0 可以和PdfiumViewer.Free ...
- 开始学习web-sql注入
web内容多且杂,不知道怎么下手开始学,那就先从sql注入开始学吧 目前只在b站上找了一些课程,还有ctfwiki作为参考 链接贴在下面: ctfwiki https://www.bilibili.c ...
- KL散度和交叉熵的对比介绍
KL散度(Kullback-Leibler Divergence)和交叉熵(Cross Entropy)是在机器学习中广泛使用的概念.这两者都用于比较两个概率分布之间的相似性,但在一些方面,它们也有所 ...
- "鸿蒙生态专家面对面"三月专场等你前来!
- 墨水污染的一角qsnctfwp
题目附件 在图片中最直接的信息是电话号码,将号码输入到搜索引擎,可以得到该书的出版社为:高等教育出版社. 进入高等教育出版社官网 根据物料号前四位.版次时间.印次时间,在官网中进行图书查询. 结合字数 ...
- redis 简单整理——HyperLogLog[十三]
前言 简单介绍一下HyperLogLog. 正文 HyperLogLog并不是一种新的数据结构(实际类型为字符串类型),而 是一种基数算法,通过HyperLogLog可以利用极小的内存空间完成独立总数 ...
- FPGA技术助手,notepad++ 两个插件
DS的时间很珍贵的 ,尤其是过了32岁以后,一身的病,扛不住996的制度.为了增加速度,只能想办法怎么在fpga工作上面降低时间.你有心思点来点去的GUI的界面.还不如用一个脚本完全做完.notepa ...