当前位置: 首页 > news >正文

ansible 调研

参考:自动化运维工具——ansible详解(一) - 珂儿吖 - 博客园 (cnblogs.com)

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
  ansible是基于 paramiko 开发的,并且基于模块化工作,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远
程主机通讯的。ansible目前已经已经被红帽官方收购,是自动化运维工具中大家认可度最高的,并且上手容易,学习简单。是每位运维工程师必须掌握的技能之一。

ansible特点

  1. 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作;
  2. 默认使用SSH协议对设备进行管理;
  3. 有大量常规运维操作模块,可实现日常绝大部分操作;
  4. 配置简单、功能强大、扩展性强;
  5. 支持API及自定义模块,可通过Python轻松扩展;
  6. 通过Playbooks来定制强大的配置、状态管理;
  7. 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
  8. 提供一个功能强大、操作性强的Web管理界面和REST API接口——AWX平台。

Ansible 系统由控制主机对被管节点的操作方式可分为两类,即adhocplaybook

  • ad-hoc模式(点对点模式)
      使用单个模块,支持批量执行单条命令。ad-hoc 命令是一种可以快速输入的命令,而且不需要保存起来的命令。就相当于bash中的一句话shell。
  • playbook模式(剧本模式)
      是Ansible主要管理方式,也是Ansible功能强大的关键所在。playbook通过多个task集合完成一类功能,如Web服务的安装部署、数据库服务器的批量备份等。可以简单地把playbook理解为通过组合多条ad-hoc操作的配置文件。

Ansible在运行时, 首先读取ansible.cfg中的配置, 根据规则获取Inventory中的管理主机列表, 并行的在这些主机中执行配置的任务, 最后等待执行返回的结果。

ansible 命令执行过程

  1. 加载自己的配置文件,默认/etc/ansible/ansible.cfg
  2. 查找对应的主机配置文件,找到要执行的主机或者组;
  3. 加载自己对应的模块文件,如 command;
  4. 通过ansible将模块或命令生成对应的临时py文件(python脚本), 并将该文件传输至远程服务器;
  5. 对应执行用户的家目录的.ansible/tmp/XXX/XXX.PY文件;
  6. 给文件 +x 执行权限;
  7. 执行并返回结果;
  8. 删除临时py文件,sleep 0退出;

http://www.lryc.cn/news/187640.html

相关文章:

  • QT UI控件汇总介绍
  • 【垃圾回收概述及算法】
  • 2021年03月 Python(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 为什么通过一致性正则化方法就可以避免将所有未标记数据集分配给同一类?
  • 第4章 决策树
  • 在Remix中编写你的第一份智能合约
  • 如何查看dll文件内导出函数名称
  • 学习笔记|串口通信的基础知识|同步/异步|RS232|常见的串口软件的参数|STC32G单片机视频开发教程(冲哥)|第二十集:串口通信基础
  • JAVA String 和 String[][]互转的两种方法
  • 推荐几个制作svg的工具
  • Java实现防重复提交,使用自定义注解的方式
  • Springboot实现Web组件注册
  • Element组件案例 Vue路由 前端打包部署步骤
  • mysql5.7停止维护时间
  • 解密.kat6.l6st6r勒索病毒:保护数据的关键方法
  • Godot 添加信号
  • JS如何判断文字是否溢出(被ellipsis)?
  • pb:常用函数和语句清单
  • (8)SpringMVC中的视图类型及其特点,以及视图控制器view-controller的配置
  • ansible学习笔记分享
  • 以dzzoffice为例设置通过 SOCKET 连接 SMTP 服务器发送(支持 ESMTP 验证)
  • 加拿大艾伯塔省执法部门利用OpenText Encase显着提高案件效率
  • 【Codeforces】Educational Codeforces Round 156 [Rated for Div. 2]
  • 结合swagger的前端架构小记
  • Python字典全解析:从基础到高级应用
  • Fourier变换中的能量积分及其详细证明过程
  • 保护 Web 服务器安全性
  • docker数据管理和网络通信
  • 代理IP与Socks5代理:网络工程师的神奇魔法棒
  • 【K8S系列】深入解析k8s 网络插件—kube-router