ansible基本使用方法
一、ansible的运行流程
ansible是基于ssh模块的软件,所以主控端和被控端的ssh服务必须正常才能保证ansbile软件的可用性。
检查ssh服务是否正常: systemctl status sshd
1. 加载自己的配置文件
2. 加载对应模块,如command、shell...
3. 生成可执行py文件,并拷贝到被控端/$HOME/.ansible/tmp/ansible-tmp-数字/xxx.py
4. 给文件加+x
5. 执行并返回结果
6. 删除临时py文件,sleep 0退出
二、基本使用:
1. 首先需要将被控端的IP配置在ansible的主机配置文件中:/etc/ansible/hosts ,下面介绍常用的配置方法:
#独立ip
172.17.0.1
#分组ip
[docker]
172.17.0.2
172.17.0.3
#正则匹配
www[001:006].example.com
默认的配置文件中介绍了很多相应的主机列表配置方法,可以参考。
2. 配置好被控端的IP之后,就可以开始执行命令了
ansible docker -m ping #ping docker组下的所有主机
如果没有建立信任关系,最好使用-u指定用户登陆执行命令,-k 表示在按下回车键之后需要输入对应用户的密码:
ansible 172.17.0.1 -m shell -a "ls /tmp" -u maple -k
如果已经建立了信任关系,则可以:
ansible 172.17.0.1 -m shell -a "ls /tmp"
172.17.0.1表示被控端的ip, 这里也可以写docker来表示docker组下的所有的host主机,同时这里也可以使用正则表达式语法来匹配你所需要执行命令的主机
-m 后面需要跟执行模块常用的模块,常用模块有command/shell/copy/file/user...
-u 被控端执行用户
-k 以key的方式登陆
-v 显示执行过程 -vv -vvv 执行过程详细程度依次增加
ansible基本使用方法的更多相关文章
- ansible基础☞安装方法
一 需要安装些什么 Ansible默认通过 SSH 协议管理机器. 安装Ansible之后,不需要启动或运行一个后台进程,或是添加一个数据库.只要在一台电脑(可以是一台笔记本)上安装好,就可以通过这台 ...
- ansible常用的方法小结
一.批量安装zabbix客户端 .拷贝sh脚本和.conf到远程服务器(也可以全量拷贝客户端) ansible all -m copy -a "src=/usr/local/zabbix_a ...
- 集群工具ansible使用方法
ansible简介 ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.与pupp ...
- Ansible用于网络设备管理 part 0 安装和登录网络设备
真实在是累了,但是又怕第二天早上又忘掉,在这先大概写写. 安装: http://www.tecmint.com/install-and-configure-ansible-automation-too ...
- ansible安装二进制kubernetes-1.14.1
主机信息: 主机IP 主机名 角色 10.10.3.181 k8s-m1 kube-apiserver,kube-controller-manager,kube-scheduler,etcd 10. ...
- ansible基础-playbooks
1. playbooks介绍 如果说ansible的modules是工具,inventory配置文件是原材料,那么playbook就是一封说明书,这里会记录任务是如何如何执行的,当然如果你愿意,这里也 ...
- Ansible安装部署以及常用模块详解
一. Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...
- ansible之条件语句when
注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...
- ansible 之条件语句 when
注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...
随机推荐
- Integer a= 127 与 Integer b = 128相关
Integer a = 127; Integer b = 127; Integer c = 128; Integer d = 128; a == b 与 c == d 的比较结果是什么? a == b ...
- Left Jion等价SQL猜想验证
猜想:以下两条SQL等价 select * from A left join B on A.ID=B.BID and B.BName=N'小明' select * from A left join ( ...
- C++调用Opencv实践中遇到的问题备忘录
1.编写一个显示图片的项目,但显示的图片全灰色. 原因:需要在imshow()函数前加一个namedWindow()函数.https://blog.csdn.net/mao_hui_fei/artic ...
- windows下查看端口被占用及处理
一.通过命令行查找端口被谁占用 1.window+R组合键,调出命令窗口 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口 3.查看被占用端口对应的PID,输入 ...
- Spark SQL中列转行(UNPIVOT)的两种方法
行列之间的互相转换是ETL中的常见需求,在Spark SQL中,行转列有内建的PIVOT函数可用,没什么特别之处.而列转行要稍微麻烦点.本文整理了2种可行的列转行方法,供参考. 本文链接:https: ...
- django自定义分页器
一 django 的分页器 1 批量创建数据 批量导入数据: Booklist=[] for i in range(100): Booklist.append(Book(title="boo ...
- json 解析错误的问题
“/”应用程序中的服务器错误. 未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe ...
- FeathersJS简单使用指南,一个前端也能玩得转的后端框架
官方文档 :https://docs.feathersjs.com/api/services.html#createdata-params 第一步,创建接口和服务 app.use("user ...
- Python距离放弃拉近的day03
新的一天,依旧是内容补充,补充了数学没有的运算符,in和not in,就是判断in前面的东西是不是在后面的数据中,然后新课讲了平常最常用的字符串的方法,引号的里面全部都是字符串,在其中就会又如何判断这 ...
- React Router路由传参方式总结
首先我们要知道一个前提,路由传递的参数我们可以通过props里面的属性来获取.只要组件是被<Router>组件的<component>定义和指派的,这个组件自然就有了props ...