自动化运维 Ansible
自动化运维 Ansible
特性
(1)、no agents:不需要在被管控主机上安装任何客户端;
(2)、no server:无服务器端,使用时直接运行命令即可;
(3)、modules in any languages:基于模块工作,可使用任意语言开发模块;
(4)、yaml,not code:使用yaml语言定制剧本playbook;
(5)、ssh by default:基于SSH工作;
(6)、strong multi-tier solution:可实现多级指挥。
1、运行 easy_install 安装
easy_install simplejson
easy_install pip
yum install gcc python-devel
easy_install ansible
pip list
2、Ansible配置
(1)、SSH免密钥登录设置
生成公钥/私钥
#ssh-keygen -t rsa -P ''
(2)、将生成的 密钥(/root/.ssh/id_rsa.pub) 发布到 被控主机 上
客户机上:
cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
完成以后记得删除 密钥 ! ( rm -rf /tmp/id_rsa.pub )
(3)、ansible配置 (配置文件目录为 /etc/ansible )
修改配置文件,指定 ssh 密钥:
mkdir -p /etc/ansible
#vim /etc/ansible/ansible.cfg
[defaults]
remote_port = 22 #被控端 SSH 端口 默认为22
private_key_file = /root/.ssh/id_rsa #密钥 需指定 id_rsa 这个密钥
hostfile = /etc/ansible/hosts
配置被控主机(主机组定义)IP
#vim /etc/ansible/hosts
[yunwei]
172.24.0.14
172.24.0.15
(3)、简单测试
ansible yunwei -m command -a "uptime"
yunwei = 指定被控端的组
-m command = 运行命令
-a 'uptime' = 命令
3、常用模块使用
(1)、setup
## 用来查看远程主机的一些基本信息
#ansible yunwei -m setup
(2)、ping
## 用来测试远程主机的运行状态
#ansible yunwei -m ping
(3)、shell
# 先在本地创建一个SHELL脚本
vi /tmp/yunwei.sh
------------------------------------------------------------------------------------
#!/bin/sh
ifconfig |grep inet -m 1|grep -v '127.0.0.1' |cut -d: -f2|awk '{print $2}'
------------------------------------------------------------------------------------
保存 并授权
chmod +x yunwei.sh
# 将创建的脚本文件分发到远程 ( src = 本地脚本目录 dest = 被控机目录 owner = 权限 )
ansible yunwei -m copy -a "src=/tmp/yunwei.sh dest=/tmp/yunwei.sh owner=root group=root mode=0755"
# 远程执行
ansible yunwei -m shell -a "/tmp/yunwei.sh"
(4)、 yum (安装ntpdate时间同步)
ansible yunwei -m yum -a "name=ntpdate state=installed"
同步时间
ansible yunwei -m command -a "ntpdate time.windows.com"
自动化运维 Ansible的更多相关文章
- 自动化运维Ansible安装篇
Ansible自动化工具之--部署篇 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了 ...
- 自动化运维-ansible入门篇
1.ansible配置 什么是Ansible IT自动化工具 依赖于现有的操作系统凭证来访问控制远程机器 简单易用.安全可靠 Ansible可以完成哪些任务 配置系统 开发软件 编排高级的IT任务 A ...
- 服务器/网络/虚拟化/云平台自动化运维-ansible
ansible与netconf的对比 首先明确一个概念,netconf是协议,ansible是python编写的工具 netconf 使用YANG建模,XML进行数据填充,使用netconf协议进行传 ...
- Python自动化运维ansible从入门到精通
1. 下载安装 在windows下安装ansible:
- 自动化运维—Ansible(上)
一:为什么选择Ansible 相对于puppet和saltstack,ansible无需客户端,更轻量级 ansible甚至都不用启动服务,仅仅只是一个工具,可以很轻松的实现分布式扩展 更强的远程命令 ...
- 自动化运维--ansible(2)
问题一:如何在多台服务器中配置Web项目上线的所有环境 解答: 1.使用ansible配置nginx服务 在安装前了解rpm与yum的区别 rpm是压缩包安装依赖包需要自己手动安装,yum安装解决依 ...
- 自动化运维--ansible(1)
前戏 ansible 批量在远程主机上执行命令 openpyxl 操作excel表格 puppet ansible slatstack ansible epel源 第一步: 下载epel源 wget ...
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- 自动化运维Ansible之常用模块
目录 0.Ansible模块语法 1.Command模块 2.Shell模块 3.Scripts模块 4.Copy模块 5.File模块 6.Yum模块 7.Service模块 8.Cron模块 9. ...
随机推荐
- cmd实用指令
具体可参考:http://www.jb51.net/os/windows/36986.html 以下是本人总结的一些比较实用的指令,仅仅只是自己的实战笔记 f: 进入F盘 同理 c: 进入C盘 cd ...
- 转 linux下xargs命令用法详解
xargs在linux中是个很有用的命令,它经常和其他命令组合起来使用,非常的灵活. xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤 ...
- 如何查看自己电脑支持OpenGL core版本
1. 起因: 红宝书上的例子在电脑上运行后没有效果,但是怎么也找不到原因,反复对看了书上的源码和代码发现没有任何问题,但是就是没有树上写的效果 2. 思路:查看函数的说明,这里推荐使用docs.gl, ...
- PHP中级篇 Apache配置httpd-vhosts虚拟主机总结及注意事项[OK]
经常使用Apache虚拟主机进行开发和测试,但每次需要配置虚拟主机时都习惯性的ctrl+c和ctrl+v,这次由于重装系统,需要配置一个新的PHP开发环境虚拟主机,于是总结一下Apaceh配置http ...
- 门面模式(Facade)解析
门面模式使用一个门面类来包装一些复杂的类,对外提供一个简单的访问方法. 见如下代码: class CPU { public void startup() { System.out.println(&q ...
- spring jdbc 源码
类:org.springframework.jdbc.core.JdbcTemplate public <T> T execute(PreparedStatementCreator psc ...
- UIImagePickerController 相关
UIImagePickerController是系统封装好的一个导航视图控制器,使用其开发者可以十分方便的进行相机相册相关功能的调用.UIImagePickerController继承于UINavig ...
- java 集合大家族
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList. ...
- 河南多校联合训练 F 不是匹配
描述 有N个人,N个活动, 每个人只会对2个或者3个活动感兴趣, 每个活动也只有两个人或者两个活动对它兴趣,每个人参加一个 感兴趣的活动需要一天 ,且当天该活动被参加时,其他的人不能参加 如果 ...
- ubuntu server 11.10 mysql 自动备份脚本
1.下载最新的备份脚本(AutoMySQLBackup) 点这里下载 2.修改脚本配置部分 vi /root/automysqlbackup-2.5.1-01.sh USERNAME=root PA ...