Ansible(一) Try it - 枯鱼的博客
学习ansible的最好方式就是使用,先别管什么inventory,playbook,module这些。按照安装文档安装,然后try it,一边学一边体验,这样的速度是最快的。当熟悉了之后,想要深入就需要去细读文档了。
下面什么都不会介绍,只是总结下怎么安装,然后try it。
ubuntu14.04下安装ansible
方法一: ubuntu下pip安装最新版本
sudo apt-get install libffi-dev
sudo easy_install pip
sudo pip install ansible
方法二: ubuntu下apt-get安装
sudo apt-get install ansible
Try it
$ mkdir ansible-demo
$ cd ansible-demo
# 建立hosts文件,输入一下内容,ip根据自己的机器进行配置
$ cat hosts
[demo]
demo-1 ansible_ssh_host=192.168.250.20
demo-2 ansible_ssh_host=192.168.250.66
demo-3 ansible_ssh_host=192.168.250.5
host文件里的主机根据实际情况配置ip,当然还需要打通秘钥登陆。具体可以google或者百度,关键词”ssh 密钥登陆”。
测试连通性
$ ansible -i hosts demo -m ping
demo-2 | SUCCESS => {
"changed": false,
"p 大专栏 Ansible(一) Try it - 枯鱼的博客ing": "pong"
}
demo-1 | SUCCESS => {
"changed": false,
"ping": "pong"
}
demo-3 | SUCCESS => {
"changed": false,
"ping": "pong"
}
远程执行命令
$ ansible -i hosts demo -m shell -a "date"
demo-3 | SUCCESS | rc=0 >>
Tue May 17 13:19:49 UTC 2016
demo-1 | SUCCESS | rc=0 >>
Tue May 17 13:19:49 UTC 2016
demo-2 | SUCCESS | rc=0 >>
Tue May 17 13:19:49 UTC 2016
$ ansible -i hosts demo -m shell -a "uptime"
demo-2 | SUCCESS | rc=0 >>
13:20:06 up 4:45, 0 users, load average: 0.02, 0.02, 0.05
demo-3 | SUCCESS | rc=0 >>
13:20:06 up 5:00, 0 users, load average: 0.00, 0.01, 0.05
demo-1 | SUCCESS | rc=0 >>
13:20:06 up 5:02, 1 user, load average: 0.00, 0.01, 0.05
更近一步的学习
查看官方文档
google ansible然后就可以看到官方网站,阅读吧。
查看程序帮助
- ansible的具体使用可以查看其帮助信息
ansible -h - ansible的相关模块可以使用
ansible-doc module_name来查看,ansible-doc -l查看系统模块有哪些。
多多使用
文档看的再多,也没有用的多掌握的深入。所以尽情的使用吧,遇到不懂的就去查文档,这样一点点的就什么都掌握了。
比如可以用ansible来维护自己的工作环境。使用ansible自动安装vim,firefox,zsh啥的,肯定比shell用着强点。更进一步的是用ansible来维护自己的生产环境。
慢慢来,一切都会更好的!
Ansible(一) Try it - 枯鱼的博客的更多相关文章
- Ansible第一章:基础认识--小白博客
ansible Ansible:Ansible的核心程序Host Lnventory:记录了每一个由Ansible管理的主机信息,信息包括ssh端口,root帐号密码,ip地址等等.可以通过file来 ...
- 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客
自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署
- HTML5 Canvas动画效果演示 - 流浪的鱼 - 博客频道 - CSDN.NET
HTML5 Canvas动画效果演示 - 流浪的鱼 - 博客频道 - CSDN.NET HTML5 Canvas动画效果演示
- 【Ansible】记一次技术博客害死人的经历——ansible模板变量注入探究
风和日丽,夏天的北京湿热并举,睁不开的眼睛里,横竖都看着是“吃人”. 带薪学习的日子不好过,要在几天内迅速掌握导师下发要求学习的技能,看着以前一起蹲IT坑的同事人来人往,用隔壁同性黄同学的话来说,就是 ...
- 是兄弟就来摸鱼 Scrum Meeting 博客汇总
是兄弟就来摸鱼 Scrum Meeting 博客汇总 一.Alpha阶段 第一次Scrum meeting 第二次Scrum meeting 第三次Scrum meeting 第四次Scrum mee ...
- 一步步开发自己的博客 .NET版(1、基本显示)
前言 我们每个猿都有一个搭建自己独立博客的梦,我也不例外.以前想 现在想 以后也想.之所以一直迟迟没有着手,是因为难以跨出第一步.每次心里想着,等我以后技术好了再说,然后就没有然后了.以前用过word ...
- BIT祝威博客汇总(Blog Index)
+BIT祝威+悄悄在此留下版了个权的信息说: 关于硬件(Hardware) <穿越计算机的迷雾>笔记 继电器是如何成为CPU的(1) 继电器是如何成为CPU的(2) 关于操作系统(Oper ...
- 年度十佳 DevOps 博客文章(后篇)
如果说 15 年你还没有将 DevOps 真正应用起来,16 年再不实践也未免太落伍了.在上篇文章中我们了解到 15 年十佳 DevOps 博客文章的第 6-10 名,有没有哪一篇抓住了您的眼球,让您 ...
- 年度十佳 DevOps 博客文章(前篇)
如果说 15 年你还没有将 DevOps 真正应用起来,16 年再不实践也未免太落伍了.国内 ITOM 领军企业 OneAPM 工程师为您翻译整理了,2015 年十佳 DevOps 文章,究竟是不是深 ...
随机推荐
- 163邮箱报错: 535 Error: authentication failed
今天更换新的异常信息发件邮箱,重新申请了一个新邮箱,SMTP功能已经开通,调用java代码报异常,错误信息为:535 Error: authentication failed.经过网上查证,原来新的1 ...
- 2019ICPC 上海网络赛 L. Digit sum(二维树状数组+区间求和)
https://nanti.jisuanke.com/t/41422 题目大意: 给出n和b,求1到n,各数在b进制下各位数之和的总和. 直接暴力模拟,TLE.. 没想到是要打表...还是太菜了. # ...
- SAP AM:固定资产采购的预算管理
对于很多公司来说,购买资产是公司年度支持的主要部分,因此需要用预算管理来防止过度支出.这项支出被列为资本支出,所以很多公司都需要对购买过程和安全防范进行良好的控制.以下文中说明如何在购买资产时使用预算 ...
- Java之代码块
package com.atguigu.java3;/* * 代码块(或初始化块) * * 1. 代码块的作用:用来初始化类.对象 * 2. 代码块如果有修饰的话,只能使用static. * 3. 分 ...
- 用户界面编程模式 MVC MVP MVVM
用户界面编程模式 MVC MVP MVVM 程序 = 数据 + 算法 数据:就是待处理的东西 算法:就是代码 涉及到人机交互的程序,不可避免涉及到界面和界面上显示的数据原始方式是界面代码和逻辑代码糅合 ...
- Base64转PDF、PDF转IMG(使用pdfbox插件)
--添加依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --><dependency> ...
- 系统学习Javaweb10----BootStrap2
学习内容: 1.BootStrap-轮播图 2.BootStrap-排版对齐方式 3.BootStrap-表单元素 4.BootStrap-分页条
- 隐马尔可夫随机场HMM
概率知识点: 0=<P(A)<=1 P(True)=1;P(False)=0 P(A)+P(B)-P(A and B) = P(A or B) P(A|B)=P(A,B)/P(B) =&g ...
- bind() 方法
一. 定义和用法 bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数. 语法: $(selector).bind(event,data,function) 举例:
- [LC] 117. Populating Next Right Pointers in Each Node II
Given a binary tree struct Node { int val; Node *left; Node *right; Node *next; } Populate each next ...