1,结构框架

Ansible 使用的是无代理体系结构,这种体系结构可以通过防止节点轮询控制机器来减少网络开销。Ansible 提供的结果框架如下所示:

  • Ansible :运行在中央计算机上;
  • Connection Plugins :连接插件,主要用于本地与操作端之间的连接与通信;
  • Host Inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
  • Modules:核心模块、自定义模块等等;
  • Plugins :使用插件来完成记录日志、邮件等功能;
  • Playbooks:执行多任务,通过 SSH 部署模块到节点上,可多个节点也可以单个节点。

2,安装

#安装ansible
[root@ansible ~]# apt install -y ansible

3,配置主机清单

root@DESKTOP-9SJGER3:~# vim /etc/ansible/hosts 

[54.103-compute]
192.168.54.148 ansible_ssh_user=root ansible_ssh_pass=*********
192.168.54.150 ansible_ssh_user=root ansible_ssh_pass=********* [54.103-controller]
192.168.54.103 ansible_ssh_user=root ansible_ssh_pass=*********

主机连接:

  • ansible_connection 连接到主机的类型,任何可能的连接插件名称,例如,SSH 协议类型中有:sshsmartparamiko

一般连接:

  • ansible_host 要连接的主机名称。
  • ansible_port ssh 端口号。
  • ansible_user 默认 ssh 用户名。

具体的 SSH 连接:

  • ansible_ssh_pass ssh密码
  • ansible_ssh_private_key_file 由 ssh 使用的私钥文件。

4,简单测试、

1,ping

root@DESKTOP-9SJGER3:~# ansible 54.103-compute -m ping
192.168.54.148 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.54.149 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.54.150 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
root@DESKTOP-9SJGER3:~# root@DESKTOP-9SJGER3:~# ansible all -m ping
SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.54.148 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.54.150 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
192.168.54.103 | SUCCESS => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": false,
"ping": "pong"
}
root@DESKTOP-9SJGER3:~#

2,执行命令

root@DESKTOP-9SJGER3:~# ansible all -m shell -a 'free -h'
192.168.54.150 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 7.6G 2.7G 211M 350M 4.8G 4.3G
Swap: 8.0G 2.7M 8.0G 192.168.54.148 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 7.6G 2.4G 178M 358M 5.0G 4.6G
Swap: 8.0G 10M 8.0G 192.168.54.149 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 7.6G 3.2G 1.9G 358M 2.5G 3.8G
Swap: 8.0G 575M 7.4G 192.168.54.103 | CHANGED | rc=0 >>
total used free shared buff/cache available
Mem: 15G 13G 330M 703M 1.5G 731M
Swap: 8.0G 7.6G 387M

ansible简单入门的更多相关文章

  1. 用IntelliJ IDEA创建Gradle项目简单入门

    Gradle和Maven一样,是Java用得最多的构建工具之一,在Maven之前,解决jar包引用的问题真是令人抓狂,有了Maven后日子就好过起来了,而现在又有了Gradle,Maven有的功能它都 ...

  2. [原创]MYSQL的简单入门

    MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...

  3. Okio 1.9简单入门

    Okio 1.9简单入门 Okio库是由square公司开发的,补充了java.io和java.nio的不足,更加方便,快速的访问.存储和处理你的数据.而OkHttp的底层也使用该库作为支持. 该库极 ...

  4. emacs最简单入门,只要10分钟

    macs最简单入门,只要10分钟  windwiny @2013    无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...

  5. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  6. Docker 简单入门

    Docker 简单入门 http://blog.csdn.net/samxx8/article/details/38946737

  7. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  8. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  9. 程序员,一起玩转GitHub版本控制,超简单入门教程 干货2

    本GitHub教程旨在能够帮助大家快速入门学习使用GitHub,进行版本控制.帮助大家摆脱命令行工具,简单快速的使用GitHub. 做全栈攻城狮-写代码也要读书,爱全栈,更爱生活. 更多原创教程请关注 ...

随机推荐

  1. 【Git】四、本地Git的工作原理

    一.工作区 第一篇创建版本库讲的有些笼统,这里详细区分一下各个概念 在第一篇我们创建了一个文件夹GitRepo,但其实这个文件夹本身并不是版本库,只是我们的工作区.我们所有的文件创建和修改都在这里执行 ...

  2. MySQL实例多库某张表数据文件损坏导致xxx库无法访问故障恢复

    一.问题发现 命令行进入数据库实例手动给某张表进行alter操作,发现如下报错. mysql> use xx_xxx; No connection. Trying to reconnect... ...

  3. Image Processing and Analysis_8_Edge Detection:A Computational Approach to Edge Detection——1986

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  4. Hadoop_17_MapRduce_案例2_实现用户手机流量统计(ReduceTask并行度控制)

    需求:1.统计每一个用户(手机号)所耗费的总上行流量.下行流量,总流量 1.数据如下:保存为.dat文件(因为以\t切分数据,文件格式必须合适) 1363157985066 13726230503 0 ...

  5. 04_Redis_Hash命令

    一:Redis 哈希(Hash) 1.1:Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象. 1.2:Redis 中每个 hash 可以存储 ...

  6. Centos7 docker、harbor 安装配置

    Docker 安装 wget -O /etc/yum.repos.d/epel.repo http://mirrors.cloud.tencent.com/repo/epel-7.repo wget ...

  7. VSCode 快捷键定义

    默认的 Toggle explore side bar 快捷键为 Ctrl + B, 但是这和 Vim 的快捷键冲突,解决方法: File  >  Preferences  >  Keyb ...

  8. Sourcetree 出现错误提示git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin

    具体表现为:sourcetree无法和gitlab远程仓库进行交互,但使用本地cmd,可以使用git命令和远程仓库交互通过各种账户.秘钥等操作,都无法解决该问题具体信息如下: 解决方式:点击 工具–& ...

  9. pip安装tesserocr时报错

    在Xubuntu上的python2虚拟环境中, 使用pip安装tesserocr时报错error: command 'x86_64-linux-gnu-gcc' failed with exit st ...

  10. Hdu 4661 树上拓扑序计数

    #include <bits/stdc++.h> using namespace std; typedef long long ll; ; ; ; ], nxt[MAXM << ...