Ansible工作架构和原理
特性
- 模块块化调用持定的模块,完成持定任务
- 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块
- 支持自定义模块
- 基于Python语法头现
- 部署简单,基于python和SSH(默认已安),agentless
- 安全,基于openSSH
- 支持playbook编排任务
- 幂等性:一个任务执行1遍和执行n遍效果一样,不因重复执行带来意外情况
- 无需代理不依赖PKI(无需ssl)
- 可使用任何程浯言编写模块
- YAML格式,编排任务,支持丰富的数据结构
- 较强大的多层解决方案(角色)
架构

- Host Inventory 主机清单:记录哪些主机需要控制
- Playbook 脚本
- Connection Plugins 连接插件
管理ansible
- CMDB : 配置管理数据库(需要开发)
- 公有云、私有云配置接口(需要开发)
- 用户命令(主要)
- Playbook 脚本(主要)
Ansible主要组成部分
- ANSIBLEPLAYBOOKS:任务剧本(任务集),编排定义Ansible任务集的配置
文件,由Ansible顺序依次执行,通常是jsON格式的YML文件
- INVENTORY:Ansible管理主机的清单/etc/anaible/hosts
- MODULES:Ansible执行命令的功能模块,多数为内置核心块,也可自定义
- PLUGINS模块功能的补充,如连接类型适件、循环插件、变量插件、过滤插
件等,该功能不常用
- API:供第三方程序调用的应用程序编程接口
- ANSIBLE:组合INVENTORY、API、MODULES、PLUGINS的绿框,可以理解
为是ansible命令工具其为核心执行工具
利用Ansible实现管理的方式
- AD-Hoc即ansible命令,主要用于临时命令使用场景
- Ansible-playbook主要用于长期规划好的,大型顶目的场景,需要有前提
的规划.
Playbook执行过程
- 任务集写入Playbook
- 拆分任务集,逐条执行
主要操作对象
- HOSTS主机
- NETWORKING网络设备
Ansible安装
yum install ansible
- 源码安装
- GIT安装
- pip安装
文件,由Ansible顺序依次执行,通常是jsON格式的YML文件
件等,该功能不常用
为是ansible命令工具其为核心执行工具
的规划.
yum install ansible确认安装:
ansible --version
配置文件:
- 主配置文件
/etc/ansible/ansible.cfg通常不用动,配置工作特性 - 主机清单
/etc/ansible/hosts:要管理的主机 - 角色
/etc/ansible/roles
程序
/usr/bin/ansible主程序,临时命令执行工具/usr/bin/ansible-doc看配置文档,模块功能查看工/usr/bin/ansible-galaxy下载/上传优秀代码或Roles模块的官网平台/usr/bin/ansible-playbook定制自动化任务,编排剧本工具,类似于bash。/usr/bin/ansibIe-pull远程执行命令的工具/usr/bin/ansible-vault文件加密工具/usr/bin/ansible-console基于console界面与用户交互的执行工具
Inventory主机清单
- ansible的主要功用在于批量主机操作,为了便捷地使用其中的部分主机,可以在inventory file中将其分组命名
- 默认的inventory file为
/etc/ansible/hosts - inventoryfile可以有多个,且也可以通过Dynamic Inventory动态生成
例 用ping模块判断主机是否存活:
ansible 目标IP -m ping -k。对方必须在ansible hosts里,且需要带密码。若填写多个IP,只会要求填写第一个的口令(用此口令访问所有主机),则可能会导致其他的出错。切访问次序不会按期望执行。上次连接会记住了口令。ansible all -m ping -k访问主机清单里的所有主机。
主机清单格式
inventory文件遵循INI文件风格,中括号中的字符为组名。可以将同一个主机
同时归并到多个不同的组中;此外,当如若目标主机使用了非默认的SSH端口,
还可以在主机名称之后使用冒号加端囗号来标明
- ntp.magedu.com
- [webservers]
- wwwl.magedu.com2222
- www2.magedu.com
- [dbservers]
- 4b1.magedu.com
- 4b2.magedu.com
- db3.maqedu.com
Ansible工作架构和原理的更多相关文章
- ansible 工作原理以及使用详解
内容:1.ansible的作用以及工作结构2.ansible的安装以及使用3.ansible的playbook使用 一.ansible的作用以及工作结构 1.ansible简介: ...
- HBase的基本架构及其原理介绍
1.概述:最近,有一些工程师问我有关HBase的基本架构的问题,其实这个问题仅仅说架构是非常简单,但是需要理解.在这里,我觉得可以用HDFS的架构作为借鉴.(其实像Hadoop生态系统中的大部分组建的 ...
- SQL Server AlwaysOn架构及原理
SQL Server AlwaysOn架构及原理 SQL Server2012所支持的AlwaysOn技术集中了故障转移群集.数据库镜像和日志传送三者的优点,但又不相同.故障转移群集的单位是SQL实例 ...
- Hbase架构与原理
Hbase架构与原理 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就 ...
- [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构
万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...
- HDFS架构及原理
原文链接:HDFS架构及原理 引言 进入大数据时代,数据集的大小已经超过一台独立物理计算机的存储能力,我们需要对数据进行分区(partition)并存储到若干台单独的计算机上,也就出现了管理网络中跨多 ...
- Spark基本架构及原理
Hadoop 和 Spark 的关系 Spark 运算比 Hadoop 的 MapReduce 框架快的原因是因为 Hadoop 在一次 MapReduce 运算之后,会将数据的运算结果从内存写入到磁 ...
- Struts框架核心工作流程与原理
1.Struts2架构图 这是Struts2官方站点提供的Struts 2 的整体结构. 执行流程图 2.Struts2部分类介绍 这部分从Struts2参考文档中翻译就可以了. ActionM ...
- Oracle rac架构和原理
Oracle RAC Oracle Real Application Cluster (RAC,实时应用集群)用来在集群环境下实现多机共享数据库,以保证应用的高可用性:同时可以自动实现并行处理 ...
随机推荐
- 动态配置log4j2.xml日志输出文件的位置
目标:根据启动jar时传进main()的参数动态修改日志位置 一.修改启动项 MainMapLookup.setMainArguments(args);注:不要在lookup设置之前初始化log(如: ...
- 【转】浅谈https\ssl\数字证书
转载请注明出处:http://www.cnblogs.com/P_Chou/archive/2010/12/27/https-ssl-certification.html 全球可信的SSL数字证书申请 ...
- c# 小数点格式化
1.只要求保留N位不四舍5入 float f = 0.55555f; int i =(int)(f * 100); f = (float)(i*1.0)/100 ...
- .NET通过PowerShell操作ExChange为用户开通邮箱教程
转:http://www.cnblogs.com/gongguo/archive/2012/03/12/2392049.html =================================== ...
- iOS-swift-类和对象
1.类(class) 使用关键字 class 创建一个类.属性直接在类里面声明,属性可以是变量,也可以是常量.方法和函数的创建方法一致. class Shape { var numberOfSides ...
- IoC(控制反转)和DI(依赖注入)
一.IOC 1.目标类 提供UserService接口和实现类 获得UserService实现类的实例 之前开发中,直接new一个对象即可,使用spring之后,将由spring创建 -->I ...
- Java之通过反射机制选择servlet中的对应的方法
此方法用于在对Javaee开发中的通过对应的名称而选择servlet中的对应的方法 注:主要代码如下 protected void doGet(HttpServletRequest req, Http ...
- deployment删除后,副本集未删除,解决之道
在删除的body上加上,body.setPropagationPolicy("Foreground");就可以删除deployment的同时连同副本集一同删除.
- Assembly测试
using UnityEngine; using System.Collections; using System.Collections.Generic; using System.Reflecti ...
- redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(多机)
redis在Windows下以后台服务一键搭建哨兵(主从复制)模式(多机) 一.概述 此教程介绍如何在windows系统中多个服务器之间,布置redis哨兵模式(主从复制),同时要以后台服务的模式运行 ...