devops工具-Ansible基础
一、Ansible介绍 简介 Ansible使用Python语言开发,是一个配置管理型工具,与之类似的工具还有Puppet、SaltStack、chef等,默认通过SSH协议进行远程命令执行或下发配置,无需部署任何客户端代理软件,可同时支持多台主机进行管理,Ansible是基于模块工作的,本身没有批量部署的能力,真正具有批量部署的是Ansible所运行的模块,能够实现批量运行命令、部署程序、配置系统等功能。目前已经Ansible已经被红帽官方收购,并基于实现了企业级产品,如tower。 Ansible上手快,简单易学,深受广大运维人员青睐,是devops工程师必备技能之一。 特点 部署简单,只需在主控端部署Ansible环境,被控端无需做任何操作; 默认使用SSH协议对设备进行管理; 丰富的模块支持,可实现日常绝大部分操作; 配置简单、功能强大、扩展性强; 支持API及自定义插件或模块,可通过Python轻松扩展; 通过Playbooks来定制强大的配置、状态管理; 轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可; 架构 1. Ansible:核心应用程序 2. Host inventory: 主机清单,用来定义Ansible管理的主机,默认是在Ansible配置文件中定义被管理主机,同时也支持自定义动态主机清单。 3. Comecton pugins