批量搞机(一):ansible简介、ansible安装
一、ansible简介
Ansible是2013年推出的一款IT自动化和DevOps软件,目前由Redhat已签署Ansible收购协议。其是基于Python研发,糅合了很多老运维工具的优点实现了批量操作系统配置,批量程序的部署,批量运行命令等功能
ansible可以让我们实现:
- 自动化部署APP
- 自动化管理配置项
- 自动化的持续交付
- 自动化的(AWS)于服务管理
为什么要选择ansible
选择一款配置管理软件总的来说,无外乎从以下几点来权衡利弊:
- 学习成本
- 使用成本
- 编码诧言
- 性能
- 使用是否广泛

ansible优点:
仅需要ssh和Python即可使用,无客户端;ansible功能强大,模块丰富,上手容易门槛低,基于python 开发,做二次开发更容易,使用公司比较多,社区活跃。
ansible缺点:
对于几千台、上万台机器的操作,还丌清楚性能、效率情况如何,需要迚一步了解。
ansible特性:
1> 模块化设计,调用特定的模块来完成特定任务
2> 基于python语言实现
- paramiko
- PyYAML (半结构化语言)
- jinja2
3> 其模块支持JSON等标准输出格式,可采用任何编程语言重写,部署简单,主从模式工作,支持自定义模块,支持playbook,易于使用,支持多层部署,支持异构IT环境
ansible大体执行过程 :

二、ansible安装
软件依赖关系 :
对管理主机要求Python 2.6 或 Python 2.7;ansible 使用了以下模块,都需要安装
- paramiko
- PyYAML
- Jinja2
- httplib2
- six
对于被托管主机
- Ansible默认通过 SSH 协议管理机器
- 被管理主机要开启 ssh 服务,允许 ansible 主机登录
- 在托管节点上也需要安装 Python 2.5 戒以上的版本
- 如果托管节点上开启了SElinux,需要安装libselinux-python
ansible 可以基于源码运行;源码安装:
1> pip:需要配置扩展软件包源 extras
2> git:
yum install epel-release
yum install git python2-pip
3> pip安装依赖模块
pip install paramiko PyYAML Jinja2 httplib2 six
小插曲===>
初始化虚拟机的方法:
# cd /var/lib/libvirt/images/
# rm -rf node?.img //删除原有的虚拟机镜像
# for i in node{1..9};do qemu-img create -b source.qcow2 -f qcow ${i};done //创建几台虚拟机
# virsh -c qemu:///system
virsh # start node1
virsh # console node1
localhost login:root
密码:____
# sed -i 's,192.168.4.253,192.168.4.1,' /etc/sysconfig/network-scripts/ifcfg-eth0
# cd /etc/yum.repos.d/
# cat rhel7.repo
[epel_mirror]
name=epel
baseurl=http://mirrors.sohu.com/fedora-epel/7/x86_64/
enabled=1
gpgcheck=0
# cat 163.repo
[163_mirror]
name=epel
baseurl=http://mirrors.163.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0
<==小插曲
#########
####
批量搞机(一):ansible简介、ansible安装的更多相关文章
- 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用
一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...
- ansible简介安装配置
ansible简介 ansible是一款,自动化运维管理工具.顾名思义是用于批量去管理及安装服务及批量管理主机. ansible与saltstack对比 ansible优点:配置简单,部署容易除主管理 ...
- ansible源码安装、普通用户实现批量控制
一.ansible简介 ansible是一款自动化运维工具,基于Python开发,集合了众多运维工具(puppet.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行 ...
- 1、Ansible简介及简单安装、使用
参考Ansible权威指南:https://ansible-tran.readthedocs.io/en/latest/index.html 以下内容学习自马哥教育 Ansible: 运维工作:系统安 ...
- 【原创】运维基础之Ansible(1)简介、安装和使用
官方:https://www.ansible.com/ 一 简介 Ansible is a radically simple IT automation engine that automates c ...
- ansible Ansible Galaxy ansible-playbook 安装 使用 命令 笔记 生成密钥 管控机 被管控机 wget epel源
笔记 ansible 安装 与salt对比 相同 都是为了同时在多台机器上执行相同的命令 都是python开发 不同 agent(saltstack需要安装.ansible不需要) 配置(salt配置 ...
- 001.Ansible简介与基本安装
一 自动化运维 1.1 运维的自动化发展历程 IAAS:infratructure as a Service PAAS:platform as a Service 平台及服务 SAAS:softwar ...
- Ansible - 简介和应用自动化基础实践
installAnsible简介和应用自动化基础实践 一.引入: 1.1 如官方定义,Ansible is The simplest way to automate apps and IT infr ...
- ansible示例,离线安装etcd
一.基础介绍 ========================================================================================== 1. ...
随机推荐
- Golang闭包的坑
team leader 发现一个Golang程序的bug,是由不正确使用闭包引起.记载一下,以作备忘. 猜猜一下程序的结果: import ( "fmt" "time&q ...
- Pku2054 Color a Tree
有一个N个结点的有根树,1是这个树的根.现在要对这N个结点依次进行染色,每个结点染色要花费1个单位的时候,同时要满足一个结点仅在其父亲被染色后才可被染色,每个结点有个权值Ci,如果我们在第Ti时间对i ...
- vue 点击任意地方防止冒泡
$('.mainL').mouseup(function(e){ let objLeader = $(obj.target); // 设置目标区域 if(!objLeader.is(e.target) ...
- SQL查询结果增加序列号
SQL查询记录中增加序列号 根据学生成绩在查询结果中增加排名字段: 1.SELECT ROW_NUMBER() OVER (ORDER BY SCORE ASC) AS RANK,NAME,SCORE ...
- 到底如何设置 Java 线程池的大小?
来源:ifeve.com/how-to-calculate-threadpool-size/ 在我们日常业务开发过程中,或多或少都会用到并发的功能.那么在用到并发功能的过程中,就肯定会碰到下面这个问题 ...
- python爬虫相关安装与应用
1.mysql数据库用于存储大量数据. 2.Navicat for MySQL以图形和表格等形式管理数据库工具. 3.编程语言python3与环境配置 4.pythcharm集成开发环境(社区版)不需 ...
- JavaScript之BOM操作
一, 什么是BOM BOM:Browser Object Model,浏览器对象模型 BOM的结构图: 从上图也可以看出: window对象是BOM的顶层(核心)对象,所有对象都是通过它延伸出来的,也 ...
- 固定导航栏(jquery)
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- service worker介绍
原文:Service workers explained 译者:neal1991 welcome to star my articles-translator, providing you advan ...
- Ext.js性能优化漫谈
Ext.js是一个用于建立企业级应用的纯JS框架.毫无疑问,它为我们提供了大量的组件,比如container,panel,field,grid,这些组件使用起来很方便,不需要去写js和html,但是e ...