特性

  • 模块块化调用持定的模块,完成持定任务
  • 有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 --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工作架构和原理的更多相关文章

  1. ansible 工作原理以及使用详解

    内容:1.ansible的作用以及工作结构2.ansible的安装以及使用3.ansible的playbook使用 一.ansible的作用以及工作结构        1.ansible简介:     ...

  2. HBase的基本架构及其原理介绍

    1.概述:最近,有一些工程师问我有关HBase的基本架构的问题,其实这个问题仅仅说架构是非常简单,但是需要理解.在这里,我觉得可以用HDFS的架构作为借鉴.(其实像Hadoop生态系统中的大部分组建的 ...

  3. SQL Server AlwaysOn架构及原理

    SQL Server AlwaysOn架构及原理 SQL Server2012所支持的AlwaysOn技术集中了故障转移群集.数据库镜像和日志传送三者的优点,但又不相同.故障转移群集的单位是SQL实例 ...

  4. Hbase架构与原理

    Hbase架构与原理 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就 ...

  5. [转帖]万字详解Oracle架构、原理、进程,学会世间再无复杂架构

    万字详解Oracle架构.原理.进程,学会世间再无复杂架构 http://www.itpub.net/2019/04/24/1694/ 里面的图特别好 数据和云 2019-04-24 09:11:59 ...

  6. HDFS架构及原理

    原文链接:HDFS架构及原理 引言 进入大数据时代,数据集的大小已经超过一台独立物理计算机的存储能力,我们需要对数据进行分区(partition)并存储到若干台单独的计算机上,也就出现了管理网络中跨多 ...

  7. Spark基本架构及原理

    Hadoop 和 Spark 的关系 Spark 运算比 Hadoop 的 MapReduce 框架快的原因是因为 Hadoop 在一次 MapReduce 运算之后,会将数据的运算结果从内存写入到磁 ...

  8. Struts框架核心工作流程与原理

    1.Struts2架构图  这是Struts2官方站点提供的Struts 2 的整体结构.  执行流程图 2.Struts2部分类介绍  这部分从Struts2参考文档中翻译就可以了. ActionM ...

  9. Oracle rac架构和原理

        Oracle RAC Oracle Real Application Cluster (RAC,实时应用集群)用来在集群环境下实现多机共享数据库,以保证应用的高可用性:同时可以自动实现并行处理 ...

随机推荐

  1. 通过进入单用户模式解决linux中的rc.local修改后无法启动的问题

    问题:本想将teamviewer这个软件随linux自启动,所以将其启动命令放在rc.local中,但是重启后发现linux启动不起来了,系统前面都是正常启动的,就是无法进入帐户登陆界面,无法输入ro ...

  2. 使用mspaint查看图片像素

    图片打码服务,要求对图像验证码进行切图,即具体知道像素的位置,网上搜了yhb-chi但下载不方便. 就想着看看mspaint可不可以,将图片拖到mspaint中: 显示了整张图片的像素大小(100X4 ...

  3. Linux Bird

    o / : 2GB o /boot: 200MB o /usr : 4GB o /var : 2GB o /tmp : 1GB o swap : 1GB o /home: 5GB,并且使用 LVM 模 ...

  4. Java学习第十六天

    1:List的子类(掌握) (1)List的子类特点 ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全,效率高 Vector: 底层数据结构是数组,查询快,增删慢 线程安全,效率低 ...

  5. Aspose.Words导出图片 表格 Interop.Word

    先定义一个WORD 模板, 然后替换文本.域 ,定位开始表格 文本和段落 // Specify font formatting Aspose.Words.Font font = builder.Fon ...

  6. Linux yum apt-get 方式

    Linux 大致可以分两大类   RedHat分支 redhat, centos ,mandrake,mandriva,国产的红x等 1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参 ...

  7. h5:WebSocket

    实时 Web 应用的窘境 Web 应用的信息交互过程通常是客户端通过浏览器发出一个请求,服务器端接收和审核完请求后进行处理并返回结果给客户端,然后客户端浏览器将信息呈现出来,这种机制对于信息变化不是特 ...

  8. CSS3的Animation

    1.animation-name :动画名    2.animation-duration:时间    3.animation-delay:延时    4.animation-iteration-co ...

  9. 浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架

    简介 SQL Server中的事务日志无疑是SQL Server中最重要的部分之一.因为SQL SERVER利用事务日志来确保持久性(Durability)和事务回滚(Rollback).从而还部分确 ...

  10. [RDLC]心得整理(一)

    2014年在做项目的时候, 过用过RDLC, 之后便在没有使用过了. 最近又有项目使用rdlc, 感觉有些陌生,然后重新阅读了以前的笔记,想做一下整理. 常见问题: 1. 为什么rdlc报表出来的pd ...