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. Computer Vision_1_Active Appearance Models :Active Appearance Models——1998

    此为计算机视觉部分,主要侧重在底层特征提取,视频分析,跟踪,目标检测和识别方面等方面. 1. Active Appearance Models 活动表观模型和活动轮廓模型基本思想来源 Snake,现在 ...

  2. nginx 设置静态下载界面

    首先,官方设置链接:https://docs.nginx.com/nginx/admin-guide/web-server/serving-static-content/ 下面贴一个配置文件: cha ...

  3. (6)python基础数据类型

    python的六大标准数据类型 (一)Number   数字类型(int float bool complex) (二)String 字符串类型 (三)List 列表类型 (四)Tuple 元组类型 ...

  4. Linux下批量修改文件编码

    假设需要将所有afish目录下的php文件,编码从gb2312转到utf8 cd afish find ./ -type f -name “*.php”|while read line;do echo ...

  5. Java&Selenium处理页面Table以及Table中随机位置的数据

    一.摘要 前一段时间公司小伙伴刚刚接触自动化,遇到的一个问题,页面新创建的数据保存后,出现在table中的某个位置,并不一定是第一行还是第几行,这种情况下如何去操控它 本篇博文将介绍处理这个问题的一种 ...

  6. BZOJ4886 [Lydsy1705月赛]叠塔游戏[基环树]

    很妙的一道题. 由于本人过于zz,不会这道题,通过厚颜无耻翻阅题解无数终于懂了这道题,所以这里转载一位神仙的blog. 没有看懂?没事,再来一篇. 这题个人认为主要在于转化题意和建图,这两点想通了应该 ...

  7. git 解决 error: failed to push some refs to 'https://github.com/xxxx.git'

    在github远程创建仓库后, 利用gitbash进行提交本地文件的时候出现如下错误 [root@foundation38 demo]# git push -u origin master Usern ...

  8. rontab踩坑(三):crontab定时任务调度机制与系统时间/时区的不一致

    解决方案: 因为我们的服务器在是肯尼亚: 我么查看一下localtime 是否和 时区一致? 可以看到是一致的. 应该是是配置改动后未重启! service crond restart

  9. Luogu P1092 虫食算 爆搜

    心路历程:震惊,我竟然得了$90$分!!...康康数据...奥..(忽然有了邪恶的卡数据的想法) 于是把$for(int \space i=0;i<n;++i)$改成了$for(int \spa ...

  10. Can't load Microsoft.ReportViewer.ProcessingObjectModel.dll

    本机的时候是能正常看到report,但deploy到别的机器上却不行,按说从本机拷个dll过去就可以,但怎么也找不到. 原来要在cmd那里输入C:\WINDOWS\assembly\GAC_MSIL ...