一、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基本使用方法的更多相关文章

  1. ansible基础☞安装方法

    一 需要安装些什么 Ansible默认通过 SSH 协议管理机器. 安装Ansible之后,不需要启动或运行一个后台进程,或是添加一个数据库.只要在一台电脑(可以是一台笔记本)上安装好,就可以通过这台 ...

  2. ansible常用的方法小结

    一.批量安装zabbix客户端 .拷贝sh脚本和.conf到远程服务器(也可以全量拷贝客户端) ansible all -m copy -a "src=/usr/local/zabbix_a ...

  3. 集群工具ansible使用方法

    ansible简介 ansible是与puppet.saltstack类似的集群管理工具,其优点是仅需要ssh和Python即可使用,而不像puppet.saltstack那样都需要客户端.与pupp ...

  4. Ansible用于网络设备管理 part 0 安装和登录网络设备

    真实在是累了,但是又怕第二天早上又忘掉,在这先大概写写. 安装: http://www.tecmint.com/install-and-configure-ansible-automation-too ...

  5. ansible安装二进制kubernetes-1.14.1

    主机信息: 主机IP 主机名 角色 10.10.3.181 k8s-m1  kube-apiserver,kube-controller-manager,kube-scheduler,etcd 10. ...

  6. ansible基础-playbooks

    1. playbooks介绍 如果说ansible的modules是工具,inventory配置文件是原材料,那么playbook就是一封说明书,这里会记录任务是如何如何执行的,当然如果你愿意,这里也 ...

  7. Ansible安装部署以及常用模块详解

    一.  Ansible 介绍Ansible是一个配置管理系统configuration management system, python 语言是运维人员必须会的语言, ansible 是一个基于py ...

  8. ansible之条件语句when

    注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...

  9. ansible 之条件语句 when

    注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...

随机推荐

  1. Windows系统XAMPP安装Moodle教程

    一.安装工具下载: 系统环境: Operating System: Windows 10 Enterprise 64-bit (10.0, Build 17134) 集成软件: XAMPP Versi ...

  2. mmz-asio4delphi死链接的解决办法

    最近一段时间,因为忙于网络的项目,特意到网上找了些例子,特意花时间研究了一下马敏钊写的 mmz-asio4delphi 感觉很好用,不过深入研究之后,发现一个问题. 马大的这个代码,会产生死链接.   ...

  3. Istio入门实战与架构原理——使用Docker Compose搭建Service Mesh

    本文将介绍如何使用Docker Compose搭建Istio.Istio号称支持多种平台(不仅仅Kubernetes).然而,官网上非基于Kubernetes的教程仿佛不是亲儿子,写得非常随便,不仅缺 ...

  4. Python运算符之翩若惊鸿,婉若游龙

    python中的运算符算术运算符:主要用于两个对象算数计算(加减乘除等运算)比较运算符:用于两个对象比较(判断是否相等.大于等运算)赋值运算符:用于对象的赋值,将运算符右边的值(或计算结果)赋给运算符 ...

  5. c/c++ 多线程 boost的读写(reader-writer)锁

    多线程 boost的读写(reader-writer)锁 背景:保护很少更新的数据结构时,c++标准库没有提供相应的功能. 例如:有个DNS条目缓存的map,基本上很少有更新,大部分都是读取,但是偶尔 ...

  6. django 创建admin用户名跟密码

    一.django中创建用户名和密码 (venv) D:\project\py37project\Djangopro\Procrm>Python37 manage.py createsuperus ...

  7. JavaScript Uncaught TypeError: Cannot read property 'value' of null

    用 JavaScript 操作 DOM 时出现如下错误: Uncaught TypeError: Cannot set property 'value' of null Uncaught TypeEr ...

  8. insert into select的实际用法

    INSERT INTO SELECT语句 语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table ...

  9. spring boot +mybatis(通过properties配置) 集成

    注:日常学习记录贴,下面描述的有误解的话请指出,大家一同学习. 因为我公司现在用的是postgresql数据库,所以我也用postgresql进行测试 一.前言 1.Spring boot 会默认读取 ...

  10. Spring Security Oauth2 的配置

    使用oauth2保护你的应用,可以分为简易的分为三个步骤 配置资源服务器 配置认证服务器 配置spring security 前两点是oauth2的主体内容,但前面我已经描述过了,spring sec ...