Ansible简介与工作原理-系列篇(1)

Ansible简介

Ansible是python开发的一款自动化运维工具,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量配置系统、批量部署程序、批量运行命令等功能。ansible是基于模块工作的,本身没有批量操作系统的能力。真正去安装批量工作的是ansible所运行的模块,ansible只是提供了一种框架。

Ansible功能

  1. 批量执行远程命令;
  2. 批量配置软件服务,自动化方式配置和管理服务;
  3. 实现软件开发功能;
  4. 编排高级的IT任务。

Ansible特点

  1. 容易学习,无代理模式;
  2. 操作灵活,有较多模块;
  3. 简单易用;
  4. 安全可靠. ssh协议通讯,稳定安全;
  5. 移植性高。

Ansible模块

Ansible模块分为核心模块和自定义模块:

  • 核心模块:实现了大多数的批量工作。
  • 自定义模块 :更具用户自身的需求自行开发模块,ansible支持任何语言开发的模块,但都必须遵循ansible的调用规则。

Ansible连接是基于ssh连接远程主机的,需要客户端运行ssh服务,不需要在客户端安装agent。

Ansible主要组成

Ansible本身复制调用各个模块进行协同工作,Ansible默认情况下一次控制5台节点。

主要组件:

  • Host Inventory:定义ansible能够管理的主机
  • Connection Plugins:用于连接ansible的插件,基于python的paramiko模块开发
  • playbooks:需要执行的命令
  • core model:核心模块
  • custom model:自定义模块
  • plugins:通过插件进行日志记录

Ansible工作原理

Ansible简介与工作原理-系列篇(1)_第1张图片
Ansible简介与工作原理-系列篇(1)_第2张图片
工作过程:

  1. ansible读取Inventory获取列表;
  2. Connection Plugins连接主机;
  3. 借助模块,读取playbooks获得需要执行的操作;
  4. 向主机发送指令,运行指令,并返回结果。

你可能感兴趣的:(DevOps工具链,Ansible自动化运维,运维,自动化,linux)