ansible 原理 面试

ansible 简介

ansible是一款自动化的运维工具基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)

组件:

  • Host Lnventory 英[??nv?ntri]:记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等。可以通过file来加载,可以通过CMDB加载
  • Playbooks:YAML格式文件,多个任务定义在一个文件中,使用时可以统一调用,“剧本”用来定义那些主机需要调用那些模块来完成的功能.
  • Core Modules 英 /k??(r)/ Ansible执行任何管理任务都不是由Ansible自己完成,而是由核心模块完成;Ansible管理主机之前,先调用core Modules中的模块,然后指明管理Host Lnventory中的主机,就可以完成管理主机。
  • Custom Modules英 /?k?st?m/ 自定义模块,完成Ansible核心模块无法完成的功能,此模块支持任何语言编写。

作用:

优点:

  • 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
  • 默认使用SSH协议对设备进行管理;
  • 幂等性  保证我们重复同一样操作的时候,得到的结果是一样的
  • 通过Playbooks来定制强大的配置、状态管理;
  • 支持API及自定义模块,可通过Python轻松扩展;

返回值颜色:

  • 红色 报错
  • 黄色 成功 更改了
  • 绿色 成功 说明可能执行第二次了 没有更改但也成功了因为幂等性可以多次执行还能保证状态
  • 紫色

配置文件:

/etc/ansible/hosts //配置主机组  配置可以使用YAML(一种标记语言)或者INI

基础命令:

  • -m : 使用什么模块
  • -a : 使用模块中的参数
  • -h : 帮助信息
  • -C: 测试一下不会真的执行

模块: (ansible-doc -l 可以看到模块的名称和大概功能 -s 可以看单个模块的使用方法)

1.单个模块使用格式 (testA是主机组的名称)

2.学会看ansible-doc信息

标黄色的地方是模块的作用 红色线标注的地方是模块的选项 required是必须选项

3.常见模块

  • 1 ping  //测试ansible 运行时主机之间是否连通
  • 2 fetch //从远程主机拉取文件
  • 3 copy //复制模块
  • 4 file //  对文本的基本操作 创建文件目录修改删除 权限 软连接硬链接
  • 5 blockinfile //在指定文本插入一段文本 是被标记过的 以后可以通过标记修改删除会添加这样一段文字
  • 6 lineinfile //确保某一行文本在指定文本中 删除或替换
  • 7 find //寻找模块
  • 8 replace //通过正则表达式替换文件中的字符串
  • 9 command //和shell差不多但是识别不了管道符,;大于号小于号
  • 10 shell   //可以通过远程主机上的/bin/sh处理
  • 11 script //远程执行ansible主机上的脚本
  • 12 cron //相当于crontab 定时任务
  • 13 service  //服务 关闭开启
  • 14 user //用户 创建,删除修改
  • 15 group //查看远程主机上的组
  • 16 yum_repository // 查看本地yum仓库
  • 17 yum  //下载模块

4 playbook 里面的使用:

检查语法错误试运行

4.1YAML 语法:

  • ”---“代表文档开始
  • 第二行”-“ 开头 “-” 后面要有空格
  • :后面一定要有空格
  • 是不能用tab键缩进的 vim编辑器自动设置为空格
  • 每一个任务都要用 “-”开头

4.2 关键字:

  • hosts: //主机之间用逗号隔开
  • tasks: //任务列表
  • name: // 执行的时候会输出关键字
  • handlers //notify 调用
  • tags //打标签方便单独执行

  • 特殊tag  always //总是执行 当没有被调用的时候也执行
  • 特殊tag   never 2.5版本
  • 特殊tag    tagged// 只有执行标签任务的时候执行别的时候不执行
  • 特殊tag untagged //
  • 特殊tag all //所有任务

面试题:()

1.Ansible 判断文件存在

2.Ansible 部署过什么

3Ansible的优势

原文地址:https://www.cnblogs.com/gaiting/p/12354307.html

时间: 2024-08-29 19:49:31

ansible 原理 面试的相关文章

Vue Virtual Dom 和 Diff原理(面试必备) 极简版

我又来了,这是Vue面试三板斧的最后一招,当然也是极其简单了,先说Virtual Dom,来一句概念: 用js来模拟DOM中的节点.传说中的虚拟DOM. 再来一张图: 是不是一下子秒懂  没懂再来一张 Virtual Dom就先这样,理解了就OK,下面我们了解一下Diff,老规矩先来一句概念: diff算法就是进行虚拟节点对比,并返回一个patch对象,用来存储两个节点不同的地方,最后用patch记录的消息去局部更新Dom. 换句人话 diff的过程就是调用名为patch的函数,比较新旧节点,一

ansible 原理及详解

简介 ansible是个什么东西呢?官方的title是"Ansible is Simple IT Automation"--简单的自动化IT工具.这个工具的目标有这么几项: 自动化部署APP: 自动化管理配置项: 自动化的持续交互: 自动化的(AWS)云服务管理: 所有的这几个目标从本质上来说都是在一个台或者几台服务器上,执行一系列的命令而已.通俗的说就是批量的在远程服务器上执行命令.当然,最主要的是它是基于 paramiko 开发的.这个paramiko是什么呢?它是一个纯Pytho

ansible原理及简单应用

一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架.主要包括. (1).连接插件connection plugins:负责和被监控端实现通信: (2).host inventory:

运维自动化工具ansible

一.基础知识: 1. 简介 ansible基于python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力. 真正具有批量部署的是ansible运行的模块,ansible只是一个框架 ansible架构 (1) 连接插件connection plugins: 负责和被监控端实现通信: (2) host inventory: 指定操作的主机,是一个配置文件里面定义监控的主机 (3) 各种模块核心模块.com

2020年前端面试复习必读文章【超百篇文章/赠复习导图】

前言 之前写过一篇 一年半经验如何准备阿里巴巴前端面试,给大家分享了一个面试复习导图,有很多朋友说希望能够针对每个 case 提供一个参考答案. 写答案就算了,一是「精力有限」,二是我觉得大家还是需要自己「理解总结会比较好」. 给大家整理了一下每个 case 一些还算不错的文章吧(还包括一些躺在我收藏夹里的好文章),大家可以自己看文章总结一下答案,这样也会理解更深刻. 「并不是所有文章都需要看」,希望是一个抛砖引玉的作用,大家也可以锻炼一下自己寻找有效资料的能力 ~ ( 文章排序不分前后,随机排

HTTP服务相关基础知识详解

1 HTTP服务 1.1 IP/PV/UV UV.PV=1:5关系 UV 每天访问人数PV page view 页面浏览量 通过nginx日志统计UV PV 或通过代码统计 ? IP - internet Protocol 独立IP,这里指独立IP数,独立IP数是指不同IP地址的计算机访问网站的被计算的总次数,独立IP数是衡量网站流量的一个重要指标,一般一天(00:00-24:00)内相同IP地址的客户端访问网站页面只被计算为一次,记录独立IP的时间可以为一天或一个月,目前通用的标准一般为一天

最新阿里Java技术面试题,看这一文就够了!

金三银四跳槽季即将到来,作为 Java 开发者你开始刷面试题了吗?别急,小编整理了阿里技术面试题,看这一文就够了! 阿里面试题目目录 技术一面(基础面试题目) 技术二面(技术深度.技术原理) 项目实战(项目模拟面试) JAVA开发技术常问的问题 阿里必会知识 阿里面试范畴 面试总结 文章福利(答案获取) 一:阿里技术一面(基础掌握牢固) 常用的异常类型? session java锁 gc原理 hashmap listlink arraylist 区别 aop 原理 多线程 kafka 原理和容错

一份超级全面的阿里面试题目录!!

阿里面试题目目录 技术一面(基础面试题目)技术二面(技术深度.技术原理)项目实战(项目模拟面试)JAVA开发技术常问的问题阿里必会知识阿里面试范畴面试总结文章福利(答案获取)一:阿里技术一面(基础掌握牢固) 常用的异常类型?sessionjava锁gc原理hashmaplistlink arraylist 区别aop 原理多线程kafka 原理和容错spark hadoop 原理redis 同步机制classLoader 机制Http 协议cookie的限制如何设计一个分步式登录系统?Sprin

开发10年,“我”已经年薪百万了,你还在小公司里混日子吗?

10年前,出于对计算机的热爱,我成为了一名程序员.不过当时,所谓的程序员其实要求相当低,受限于时代,那些高水平的程序员放到现在看门槛也不高.互联网经过这么多年的高速发展,因为各方资本的狂热追求,国内的互联网企业竞争激烈,越来越多程序员的加入,对于程序员的技能要求也更加严格.更加细分.尤其随着资本市场的逐渐退却,互联网行业热度回归常态,程序员的岗位竞争更加残酷. 这些年来一直都是自己摸索,走了太多弯路.在小公司里混日子感觉自己都快废了,后来沉下心来决定作出改变,翻来覆去研究了大厂的招聘需求,找了相