一、初识Ansible
介绍:
Absible 使用 模块(Modules)来定义配置任务。模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等。Ansible剧本(YAML语言编写)角色映射到 节点/虚拟机上,以对这些节点/虚拟机 进行编排有序的执行。Ansible支持ad-hoc任务:管理任务(不必幂等)以在多个节点/虚拟机上执行。Ansible具有无代理架构:你不需要在配置的节点/虚拟机上安装Ansible(然而,这些节点必须安装python环境),Ansible 通过SSH或者通过PowerShell(Windows机器)从单个控制机器上配置管理节点/虚拟机,并且能够支持并行配置多个节点。Ansible 可以用来配置 类unix系统或 Windows节点/虚拟机。
基本特点:
安装部署简单,支持多种方式安装(yum,git等)
支持分类过滤管理主机
轻量级,被管理端无需安装特定agent(需有python、ssh环境)
模块众多,可以满足我们的需要
开发社区活跃
Ansible playbook 剧本
支持各种公有云、私有云平台
基于Push推送方式,可以随时修改
幂等性(已经存在的修改后的状态,再次执行这个任务时,不会进行任何修改)
如图: