目录

1. Ansible 是什么?

2. Ansible 特性

3. 控制主机需求

4. 被管理节点需求


1. Ansible 是什么?

Ansible 是一个配置管理系统(configuration management system),也是一个自动化运维工具。其使用OpenSSH协议,通过ssh的方式登录远程主机,可实现对批量系统的初始化配置,批量程序部署,批量执行命令等功能。

Ansible 基于模块工作,本身没有批量部署的能力,具有批量部署的是 Ansible 所运行的模块,Ansible只是提供一种框架。


2. Ansible 特性

0x01 功能特性

  • 应用代码自动化部署;
  • 系统管理配置自动化;
  • 支持持续交付自动化;
  • 支持云计算、大数据平台(如AWS、OpenStack、CloudStack等)环境;
  • 轻量级,无需在客户端安装 agent,更新时只需要在控制及上进行一个更新即可;
  • 批量任务执行可以写成脚本,不用分发到远程就可以执行;
  • 使用 Python 编写,维护更简单,Ruby 语法过于复杂;
  • 支持非 root 用户管理操作,支持 sudo。

3. 控制主机需求

目前 Ansible 支持主机中有 Python 2 (version 2.7)Python 3 (version 3.5 或更高)版本的环境中运行。Windows 系统不支持作为控制主机。

其中可作为控制主机的系统有:Red HatDebianCentOSmacOSBSDs等。


4. 被管理节点需求

在被管理主机上,控制主机和被管理主机之间使用 ssh 方式通信,默认使用 sftp 方式传输文件。在被管理主机上需要有 Python 2 (version 2.6 或更高) 或者 Python 3 (version 3.5 或更高) 环境。

  • 如果远程节点的系统 SELinux 为开启状态,则需要安装 libselinux-python,可以使用 Ansible 中的 yum模块 或者 dnf模块 来安装。

  • 默认情况下,Ansible 使用的 python 解释器为:/usr/bin/python来运行Ansible中的各个模块,然而一些Linux的发行版本中默认使用的的 Python 3作为默认的 Python 解释器,其为:/usr/bin/python3。在这些系统中,可能看到如下报错:

"module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n"

此时,可以设置 ansible_python_interpreter的invertory 变量(Working with Inventory)来指向你的Python解释器,或者安装 Python 2 作为默认的解释器。

  • Ansible 的 raw模块 不需要安装 Python。你可以使用 raw模块安装一个兼容版的Python。例如在基于RHEL的系统上安装 Python 2
ansible myhost --sudo -m raw -a "yum install -y python2"
  • 需安装一个模块 python-simplejson,例如对于 Ubuntu 系统,可使用如下命令安装
sudo apt install python-simplejson

5. 参考文章

Ansible自动化运维 技术与实践

1. Ansible 简介的更多相关文章

  1. 批量搞机(一):ansible简介、ansible安装

    一.ansible简介 Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议.其是基于Python研发,糅合了很多老运维工具的优点实现了批量 ...

  2. ansible简介安装配置

    ansible简介 ansible是一款,自动化运维管理工具.顾名思义是用于批量去管理及安装服务及批量管理主机. ansible与saltstack对比 ansible优点:配置简单,部署容易除主管理 ...

  3. Ansible简介及常用模块

    一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  4. Ansible - 简介和应用自动化基础实践

    installAnsible简介和应用自动化基础实践 一.引入: 1.1  如官方定义,Ansible is The simplest way to automate apps and IT infr ...

  5. Ansible 简介

    Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具.可以用它来配置系统.部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新.Ansible 的主要目标是简单和易用,并且它 ...

  6. 001. Ansible简介

    一 简介 Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点. 实现了批量系统 ...

  7. Ansible简介

    概述 Ansible是一种自动化运维管理工具,无需安装客户端,通过SSH协议与节点通信. 架构 由上图可以看出Ansible由5个部分组成 Ansible:核心 Inventory:定义管理主机的清单 ...

  8. ansible简介,简单实用

    Ansible ansilbe是实现自动化运维的工具,基于python开发,实现批量系统配置,批量程序部署,批量运行命令等功能. ansible是基于模块工作的,自身是没有批量部署的能力.真正具有批量 ...

  9. 1、Ansible简介及简单安装、使用

    参考Ansible权威指南:https://ansible-tran.readthedocs.io/en/latest/index.html 以下内容学习自马哥教育 Ansible: 运维工作:系统安 ...

随机推荐

  1. 搭建 structs2 环境

    前言 环境: window 10 ,JDK 1.8 ,Tomcat 7 ,MyEclipse 2014 pro 搭建 SSH 环境的步骤 创建 JavaWeb 项目 导入 structs2 的jar包 ...

  2. Neo4j 全文检索

    全文检索基本概念 搜索 搜索这个行为是用户与搜索引擎的一次交互过程,用户需要找一些数据,他提供给搜索引擎一些约束条件.搜索引擎通过约束条件抽取一些结果给用户 搜索引擎 搜索引擎存在的目的是存储,查找和 ...

  3. 虚拟机安装windows7 VMware12 安装window7

    闲来无事就来搞虚拟机装操作系统!期间出现很多错误,分享一下 一.安装虚拟机 二.准备安装的镜像文件 我下载的是windows7纯净版 深度技术里面下载的(http://www.xitongzhijia ...

  4. Java基础系列--01_基础类型

    J2SE.J2ME.J2EE分别指什么? J2SE 基础版,桌面应用. J2ME 微型版,手机开发.(android,ios) J2EE 企业版,所有浏览器访问的应用程序. 注意:JDK5以后改名 J ...

  5. 任意N个不同数的逆序对平均值

    在学习数据结构的时候看到了以下定理: 但是老师并没有解释,本着钻研的精神决定搞清楚为什么是这个数. 在百度 google一番之后并没有找到,决定自己试着证明. 最开始走了一些弯路,但突然灵光一闪很容易 ...

  6. 【MySQL大系】《Mysql集群架构》

    原文地址(微信):[技术文章]<Mysql集群架构> 本文地址:http://www.cnblogs.com/aiweixiao/p/7258444.html 点击关注微信公众号 1.主要 ...

  7. js获取数组中最大值,最小值

    遍历方法 var arr =[12,14,34,566,34,98,77] var max = arr[0]; for(var i=0;i<arr.length;i++){ if(max< ...

  8. Visual Studio 2019 使用 Live Share

    一.前言 Visual Studio 2019 在今天发布(北京时间)了,这次带来了一个比较有趣的 Live Share 功能,使用它可以进行更好的协作开发.主要功能: 更多资料可看官方介绍: Vis ...

  9. Python中的函数定义方法

    def test(x): "hjkasgd" x += 1 return x def——定义函数的关键字 test——函数名 ()——内可定义形参 ""——文档 ...

  10. c++ _pFirstBlock == pHead

    今天写程序时碰到了这个异常,导致调试的程序卡死.在网上找了很久答案,都没解决.大致判定是对象被多次析构,但又确认程序逻辑没有问题. 后来参考了 http://www.cnblogs.com/qinta ...