目录

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. Linux通过NFS实现文件共享

    在项目生产环境我们经常需要实现文件共享,传统的常见方案是通过NFS,实现服务器之间共享某一块磁盘,通过网络传输将分散的文件集中存储在一块指定的共享磁盘,实现基本的文件共享.实现这种方案,分服务端和客户 ...

  2. vue(3)—— vue的全局组件、局部组件

    组件 vue有局部组件和全局组件,这个组件后期用的会比较多,也是非常重要的 局部组件 template与components属性结合使用挂载 其中 Vmain.Vheader.Vleft.Vconte ...

  3. qt5.7.1 (create4.2.0)+msvc2015 安装后无法编译 & 缺少h文件

    其实问题的本质是,系统中没有vs2015的注册信息导致 一开始是报: "'cl' 不是内部或外部命令,也不是可运行的程序"解决方案 通过在环境变量中添加了C:\Program Fi ...

  4. PHP 函数漏洞总结

    1.MD5 compare漏洞 PHP在处理哈希字符串时,会利用"!="或"=="来对哈希值进行比较,它把每一个以"0E"开头的哈希值都解释 ...

  5. Web前端教程2-CSS教程

    目录 1. CSS基本语法 1.1. CSS基本定义 1.2. CSS布局属性 1.3. CSS文本常用属性 2.CSS选择器 2.1. 标签选择器 2.2. id选择器 2.3. 类选择器 2.4. ...

  6. shell编程企业级实战

    如何才能学好Shell编程 为什么要学习shell编程 Shell是Linux底层核心 Linux运维工作常用工具 自动化运维必备基础课程 学好shell编程所需Linux基础 熟练使用vim编辑器 ...

  7. 多种解法解决n皇后问题

    多种解法解决n皇后问题 0x1 目的 ​ 深入掌握栈应用的算法和设计 0x2 内容 ​ 编写一个程序exp3-8.cpp求解n皇后问题. 0x3 问题描述 即在n×n的方格棋盘上,放置n个皇后,要求每 ...

  8. 是时候理解下HTTPS的原理及流程了

    1.什么是HTTP协议? HTTP协议是Hyper Text Transfer Protocol(超文本传输协议),位于TCP/IP模型当中的应用层.HTTP协议通过请求/响应的方式,在客户端和服务端 ...

  9. PHP按权重随机

    之前业务部门提了一个需求,要求将广告按照ecpm高低进行随机.(即:ecpm高的获取流量的几率大) 如下数组: //要求AD1的概率要求为50%,AD2概率为25% ,AD3的概率为15%,AD4的概 ...

  10. python rpyc 报错: AttributeError: cannot access 'new'

    Error msg: Traceback (most recent call last): File "/home/hpcm/Desktop/test/install/client.py&q ...