ansible的安装及基本使用
1.安装ansible
如果没有版本和别的要求,这里直接使用yum安装
yum -y install ansible
查看版本
[root@ ~]#ansible --version
ansible 2.4.2.0
config file = /etc/ansible/ansible.cfg
executable location = /usr/bin/ansible
python version = 2.7.
2.Ansible 功能详解
配置文件
| 配置文件或指令 | 描述 |
|---|---|
| /etc/ansible/ansible.cfg | 主配置文件,配置ansible工作特性 |
| /etc/ansible/hosts | 主机清单 |
| /etc/ansible/roles/ | 存放角色的目录 |
| /usr/bin/ansible | 主程序,临时命令执行工具 |
| /usr/bin/ansible-doc | 查看配置文档,模块功能查看工具 |
| /usr/bin/ansible-galaxy | 下载/上传优秀代码或Roles模块的官网平台 |
| /usr/bin/ansible-playbook | 定制自动化任务,编排剧本工具 |
| /usr/bin/ansible-pull | 远程执行命令的工具 |
| /usr/bin/ansible-vault | 文件加密工具 |
| /usr/bin/ansible-console | 基于Console界面与用户交互的执行工具 |
3.主机清单
Ansible必须通过Inventory 来管理主机。Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置。
语法格式:
//单台主机
green.example.com // FQDN
192.168.100.10 // IP地址
192.168.100.11: // 非标准SSH端口 [webservers] // 定义了一个组名
alpha.example.org // 组内的单台主机
192.168.100.10 [dbservers]
192.168.100.10 // 一台主机可以是不同的组,这台主机同时属于[webservers] [group:children] // 组嵌套组,group为自定义的组名,children是关键字,固定语法,必须填写。
dns // group组内包含的其他组名
db // group组内包含的其他组名 [webservers]
www[:].hunk.tech // 有规律的名称列表,
//这里表示相当于:
www001.hunk.tech
www002.hunk.tech
www003.hunk.tech
www004.hunk.tech
www005.hunk.tech
www006.hunk.tech [databases]
db-[a:e].example.com // 定义字母范围的简写模式,
//这里表示相当于:
db-a.example.com
db-b.example.com
db-c.example.com
db-d.example.com
db-e.example.com //以下这2条定义了一台主机的连接方式,而不是读取默认的配置设定
localhost ansible_connection=local
www..com ansible_connection=ssh ansible_ssh_user=hunk //最后还有一个隐藏的分组,那就是all,代表全部主机,这个是隐式的,不需要写出来的。
4.ansible命令
[root@ ~]# ansible dns -m ping # 使用ansible对dns组内的主机进行ping模块测试
[root@ ~]# ansible dns -m ping -k #加上-k选项后,会提示输入ssh密码了。
[root@ ~]# ansible dns -m command -a 'free'
[root@ ~]# ansible mfs -m shell -a "curl 'http://ppa.moosefs.com/RPM-GPG-KEY-MooseFS' > /etc/pki/rpm-gpg/RPM-GPG-KEY-MooseFS"
[root@ ~]# ansible wo -m shell -a "sed -i '/ntpdate/d' /var/spool/cron/root"
[root@ ~]# ansible wo -m shell -a "echo '0 20 * * * /usr/sbin/ntpdate 192.168.2.1 && /sbin/clock -w > /dev/null 2>&1' >>/var/spool/cron/root"
Ansible常用命令语法
ansible <host-pattern> [-m module_name] [options]
//指令 匹配规则的主机清单 -m 模块名 选项 --version //显示版本
-a //模块参数(如果有)
-m module //指定模块,默认为command
-v //详细过程 –vv -vvv更详细
--list-hosts //显示主机列表,可简写--list
-k, --ask-pass //提示连接密码,默认Key验证
-K,--ask-become-pass //提示使用sudo密码
-C, --check //检查,并不执行
-T, --timeout=TIMEOUT //执行命令的超时时间,默认10s
-u, --user=REMOTE_USER //执行远程执行的用户
-U, SUDO_USER, --sudo-user //指定sudu用户
-b, --become //代替旧版的sudo 切换
ansible-doc: //显示模块帮助
ansible-doc [options] [module...] -a //显示所有模块的文档
-l, --list //列出可用模块
-s, --snippet //显示指定模块的简要说明 //例子:#ansible-doc ping //由于ansible的模块有1378个(2.4.2.0),并且一直在持续更新。因此,这个指令必须要掌握的。
#ansible-doc -l |wc -l
ansible的安装及基本使用的更多相关文章
- ansible网络模块安装httplib2
ansible网络模块安装httplib2 在进行使用ansible的网络模块的时候,需要安装httplib2模块 下载地址: https://pypi.python.org/pypi?%3Aacti ...
- ansible离线安装
目录 1. ansible离线安装 2. ansible配置文件 3. ansible常用的命令: 1. ansible离线安装 最近要在内网部署一台ansible服务器,只能手动离线安装ansibl ...
- CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机
使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...
- [k8s]kubespray(ansible)自动化安装k8s集群
kubespray(ansible)自动化安装k8s集群 https://github.com/kubernetes-incubator/kubespray https://kubernetes.io ...
- ansible 提示安装sshpass
之前用ansible一直用的root身份.机器之间又早早的做好了ssh信任.所以一直也没有出现什么问题.今天想想自己不能这么浪了,还是用回普通用户吧: 然而马上就遇到了第一个问题,ansible提示安 ...
- ansible自动安装rabbitmq
ansible playbook 安装rabbitmq单机版,以下脚本在CentOS6.7服务器测试通过. 需要配置本机的yum源,用于安装socat软件. rabbitmq版本和Erlang版本需要 ...
- ansible的安装和简单使用
ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真 ...
- 运维自动化之ansible的安装与使用 转
运维自动化之ansible的安装与使用 随着服务器数量的增长,我们需要一个批量工具去提高工作效率,之前用的是puppet,ansible的简单,适用让我眼前一亮,决定写一篇ansible从安装到基本配 ...
- Centos7 使用 Ansible 批量安装中文字体
需求背景 Centos7 下 Java 生成图片水印时中文乱码,原因是没有安装中文字体. 安装中文字体 以下是基于 Centos7 手动安装中文字体的详细步骤.当测试或者生产环境服务器比较多的时候,建 ...
- ansible一键安装GreatSQL并构建MGR集群
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 利用ansible一键安装GreatSQL并完成MGR部署. 本次介绍如何利用ansible一键安装GreatSQL并完成 ...
随机推荐
- JS =>处理单击事件与拖动事件并存
使用click事件,很难确定在拖动开始和结束的时候触发,所以使用了onmouseup(释放鼠标的时候),释放鼠标的时候,即在拖动还未结束,但是准备处理的阶段,此时mouseButtonFlag按照逻辑 ...
- Linux学习之---Xshell
经过两周的断断续续的学习,终于把慕课网上tony老师的<Linux网络管理>基础知识学完.tony老师讲课风趣幽默,深入浅出,为老师打call!! 课程地址:https://www.imo ...
- Dom捕捉事件和冒泡事件-原理与demo测试
先参考一下百度百科对冒泡事件流的解释: ----------不喜欢读文字的同学,可以直接看下面demo,传递顺序简单明了! http://baike.baidu.com/link?url=kaeJHT ...
- E - Radar Installation
Assume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. ...
- Code Labels
Code Labels Code labels are three-letter codes with which commit messages can be prefixed. CODE Labe ...
- windows对象 document对象 的一些操作 9.23
函数: 四要素 1.返回类型2.函数名3.参数列表4.函数体 window . 对象 opener 打开当前窗口的源窗口 alert(window.opener); open( ) 例子: ...
- [No0000B3].NET C# 单体模式(Singleton)
单体模式(Singleton)是经常为了保证应用程序操作某一全局对象,让其保持一致而产生的对象,例如对文件的读写操作的锁定,数据库操作的时候的事务回滚,还有任务管理器操作,都是一单体模式读取的.创建一 ...
- 【每日一题】 UVA - 213 Message Decoding 模拟解码+读入函数+阅读题
题意:阅读理解难度一道比一道难orz.手摸了好久样例 题解: 读入:大循环用getline读入header顺便处理一下, 里面再写两重循环,外层一次读三个串,内层一次读num个串. 之后就查表,线性 ...
- UIScrollView的一些关系
contentInsets和contentoffset以及contentSize 可见范围: contentSize + contentInsets 也就是(contentSize.width+con ...
- babel-preset-env使用介绍
声明:文章转自https://www.cnblogs.com/ye-hcj/p/7070084.html 本文介绍一个babel转码神器babel-preset-env 简介 现如今不同的浏览器和平台 ...