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并完成 ...
随机推荐
- SqlServer 数据去重
找出所有不重复的数据 SELECT [Id] ,[Name] ,[Mobile] ,[City] ,[Counter] ,[utm_source] ,[utm_medium] ,[utm_campai ...
- 2 salt-masterless架构
minion无master的使用用法 需要更改minion配置文件的三个配置项 [root@linux-node2 ~]# vim /etc/salt/minion file_client: loca ...
- [PHP] 03 - Form & Input
PHP 完整表单实例 一.表单示范 二.对应代码 <!DOCTYPE HTML> <html> <head> <meta charset="utf- ...
- [DLX精确覆盖] hdu 1603 A Puzzling Problem
题意: 给你n块碎片,这些碎片不能旋转.翻折. 问你能不能用当中的某些块拼出4*4的正方形. 思路: 精确覆盖裸题了 建图就是看看每一个碎片在4*4中能放哪些位置,这个就作为行. 列就是4*4=16个 ...
- SpringBoot(十四)-- 整合Swagger2
1.pom依赖 <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-s ...
- vim.sh
#!/bin/bash #https://github.com/txthinking mkdir /tmp/_ curl https://raw.githubusercontent.com/txthi ...
- Fastjson 爆出远程代码执行高危漏洞,更新版本已修复
fastjson近日曝出代码执行漏洞,恶意用户可利用此漏洞进行远程代码执行,入侵服务器,漏洞评级为“高危”. 基本介绍fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器 ...
- Android最全开发资源(申明:来源于网络)
Android最全开发资源(申明:来源于网络) 地址:http://www.jianshu.com/p/0c36302e0ed0?ref=myread
- 浅析vue的双向数据绑定
vue 的双向数据绑定是基于es5的 object对象的defineProperty属性,重写data的set和get函数来实现的.1.defineProperty 数据展示 Object.defin ...
- css学习_css书写规范
css书写规 1.空格规范: div { color: red; } 2.选择器规范 3.属性 属性定义要另起一行 属性定义后必须以分号结尾 div { color: red; font-size: ...