(1)ansible运维工具-简介篇

运维工具Ansible简介

首先给大家推荐四个参考资料网址:

  1. 官网 - https://www.ansible.com/
  2. Ansible介绍视频-  https://www.ansible.com/resources/videos/quick-start-video
  3. Ansible中文权威指南-http://ansible-tran.readthedocs.io/en/latest/
  4. Ansible自动化运维w3cschool教程-https://www.w3cschool.cn/automate_with_ansible/

其中官方网站的title是“Ansible is Simple IT Automation”,翻译成中文就是:简单的自动化IT工具。

这个工具的目标有这么几项:

  • 让我们自动化部署APP;
  • 自动化管理配置项;
  • 自动化的持续交付;
  • 自动化的(AWS)云服务管理。

所有的这几个目标本质上来说都是在一个台或者几台服务器上,批量执行一系列的命令而已,也就是批量的在远程服务器上执行命令 。

ansible是一个轻量级的运维自动化配置管理和配置工具,基于Python研发。

集合了众多老牌运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。

同时这也是一款很简单也很容易入门的部署工具,它使用SSH连接到服务器并运行配置好的任务,服务器上不用安装任何多余的软件,只需要开启ssh,所有工作都交给client端的ansible负责。

因为基于SSH,所以不需要像Salt这些同类工具一样需要在每台机器上安装agent,因此添加机器几乎不需要进行额外的操作。仅需在管理工作站上安装ansible程序配置被管控主机的IP信息,被管控的主机无客户端。ansible应用程序存在于epel(第三方社区)源,依赖于很多python组件。ansible基于 paramiko 开发的,它是一个纯Python实现的ssh协议库。

主要包括以下几个组成部分:

(1)、连接插件connection plugins:负责和被监控端实现通信;

(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;

(3)、各种模块:核心模块、command模块、自定义模块;

(4)、借助于插件完成记录日志、邮件等功能;

(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

关于Ansible的一个好处是,将bash脚本转换为可执行任务是非常容易的。

我们可以使用shell编写自己的配置程序,但是Ansible更加干净,因为它可以自动在执行任务之前获取上下文。

ansible任务是幂等的,没有大量额外的编码,ansible可以一次又一次地安全运行bash命令,任意多次执行所产生的影响均与一次执行的影响相同,不会造成环境混乱。

ansible使用“facts”来确保任务的幂等安全运行, 它是在运行任务之前收集的系统和环境信息。

ansible使用这些facts来检查状态,看看是否需要改变某些东西以获得所需的结果。

这使得ansible可以让服务器一次又一次地运行可复制的任务。

发布了3 篇原创文章 · 获赞 2 · 访问量 307

猜你喜欢

转载自blog.csdn.net/xuxin555/article/details/90048865