1. Ansible 简介
目录
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 Hat、Debian、CentOS、macOS、BSDs等。
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. 参考文章
1. Ansible 简介的更多相关文章
- 批量搞机(一):ansible简介、ansible安装
一.ansible简介 Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议.其是基于Python研发,糅合了很多老运维工具的优点实现了批量 ...
- ansible简介安装配置
ansible简介 ansible是一款,自动化运维管理工具.顾名思义是用于批量去管理及安装服务及批量管理主机. ansible与saltstack对比 ansible优点:配置简单,部署容易除主管理 ...
- Ansible简介及常用模块
一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...
- Ansible - 简介和应用自动化基础实践
installAnsible简介和应用自动化基础实践 一.引入: 1.1 如官方定义,Ansible is The simplest way to automate apps and IT infr ...
- Ansible 简介
Ansible 是一个开源的基于 OpenSSH 的自动化配置管理工具.可以用它来配置系统.部署软件和编排更高级的 IT 任务,比如持续部署或零停机更新.Ansible 的主要目标是简单和易用,并且它 ...
- 001. Ansible简介
一 简介 Ansible是一款极其简单的自动化运维工具, 基于Python开发, 集合了众多运维工具(puppet, cfengine, chef, func, fabric)的优点. 实现了批量系统 ...
- Ansible简介
概述 Ansible是一种自动化运维管理工具,无需安装客户端,通过SSH协议与节点通信. 架构 由上图可以看出Ansible由5个部分组成 Ansible:核心 Inventory:定义管理主机的清单 ...
- ansible简介,简单实用
Ansible ansilbe是实现自动化运维的工具,基于python开发,实现批量系统配置,批量程序部署,批量运行命令等功能. ansible是基于模块工作的,自身是没有批量部署的能力.真正具有批量 ...
- 1、Ansible简介及简单安装、使用
参考Ansible权威指南:https://ansible-tran.readthedocs.io/en/latest/index.html 以下内容学习自马哥教育 Ansible: 运维工作:系统安 ...
随机推荐
- 大整数相乘问题总结以及Java实现
最近在跟coursera上斯坦福大学的算法专项课,其中开篇提到了两个整数相乘的问题,其中最简单的方法就是模拟我们小学的整数乘法,可想而知这不是比较好的算法,这门课可以说非常棒,带领我们不断探索更优的算 ...
- Docker-Dockerfile及基本语法
Dockerfile的作用是通过它可以生成自定镜像,先介绍几个基本的docker命令. [docker镜像相关的命令]docker search 镜像名: 搜索镜像docker pull 镜像名: 镜 ...
- SQL Server数据库漏洞评估了解一下
SQL Server Management Studio 17.4或更高版本的SSMS中提供了SQL Server漏洞侦测(VA)功能,此功能允许SQL Server扫描您的数据库以查找潜在的安全漏洞 ...
- Go语言打造以太坊智能合约测试框架(level1)
传送门: 柏链项目学院 Go语言打造以太坊智能合约测试框架 前言 这是什么? 这是一个基于go语言编写的,自动化测试以太坊智能合约的开发框架,使用此框架,可以自动化的部署合约,自动测试合约内的功能函数 ...
- Visual Studio Code自定义快捷键(eclipse习惯)
左下角设置按钮 -> Keyboard Shortcuts -> keybindings.json. [ { "key": "alt+/", &qu ...
- 记录Javascript的数据方法参考
concat >>连接2个或更多数组,并返回结果 var arr1 = [1,2,3]; var arr2 = [-1,-2,-3]; console.log(arr1.concat(ar ...
- oracle 行列转换
oracle 行列转换列名如果是数字,用双引号包住 如下: -- 建表 create table workinfo(wid integer primary key,sid integer ,CON ...
- IdentityServer4客户端如何获取自定义声明,了解一下?
前言 久违了各位,之前录制过IdentityServer4的基础视频(https://space.bilibili.com/319652230/#/),有兴趣了解的童鞋可以看一下,只不过未发表成博客. ...
- zcu102 hdmi example(二)
1.概述 上篇说到,调用跑HDMI IP核自带的design example,跑出来的结果是显示屏显示彩条,并伴有嘀,嘀,嘀...的声音.因为在实际项目中,我们只需要图像,不需要声音的,所以我要把声音 ...
- JS JavaScript模块化(ES Module/CommonJS/AMD/CMD)
前言 前端开发中,起初只要在script标签中嵌入几十上百行代码就能实现一些基本的交互效果,后来js得到重视,应用也广泛起来了, jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得 ...