必须保证ansible工作站与各个node实现无密码ssh登入

①:192.168.1.100 - 在你本地的工作站或服务器上安装 Ansible。

②:文件服务器1到代理服务器3 - 使用 192.168.1.100 和 Ansible 来自动管理所有的服务器。
③:SSH - 在 192.168.1.100 和本地/远程的服务器之间设置 SSH 密钥。

ssh-keygen -t rsa -p " "   生成密钥

ssh-copy-id  -i  .ssh/id_rsa.pub 172.16.19.1.1 分发密钥

(一)Ansible 入门

官网:https://www.ansible.com
官方文档:http://docs.ansible.com/ansible/latest/index.html

一: ansible介绍

ansible是由 Python 编写的强大的配置管理解决方案,ansible 的特点就在于它的简洁与高效率
ansible与其他的配置管理工具不同点在于:不需要你在想要配置的每个节点上安装自己的组件,也就是说,ansible管理各个节点不需要依赖于agent端

自动运维工具 
(1)puppet (ruby) 各个节点上运行一个agent端的程序 
(2)saltstack (Python) 
(3) ansible (Python)

运维工作的发展历程:

写脚本 ==> 使用自动化运维工具 ==> 自动运维平台

ansible workplace 实现各个节点的管理。

zabbix: agent端,通过执行对于的操作,在节点的本地获取需要采集的数据
将数据返回给zabbix server
ansible是通过ssh服务连接到各个node,各个node而言,不需要有任何的agent端,只需要开启
sshd服务,ansible可以通过ssh协议,连接到各个node,基于免密码登入
ansible服务端:ansible、配置好ssh免密码登入

ansible:主程序

ansible-doc :模块文档接口程序
ansible-playbook:执行playbook所使用的程序
ansible连接各个主机使用ssh协议连接

二:ansible核心模块介绍

(一)ping (ping模块,用于确认和对象机器之间是否能够ping通,正常情况会返回pong )

ansible 172.16.19.114 -m ping

(二)command (command 模块用于运行系统命令,比如echo hello, 你安装在系统里的python,或者make 一类) 
Executes a command on a remote node

[root@7 ansible]# ansible webservers -m command -a "ifconfig"

(三)shell (这个是一个很神奇的模块,它也是ansible的核心模块之一。可以让另外一台主机执行命令)

ansible 172.16.19.249 -m shell -a "echo '123456' | passwd --stdin uplooking"

(四)copy (copy模块在ansible里的角色就是把ansible执行机器上的文件拷贝到远程节点上。 )

ansible dbservers -m copy -a "src=/root/hello dest=/root/nihao"
ansible 172.16.19.249 -m copy -a "src=/root/hello dest=/root/hello owner=uplooking group=uplooking mode=777"

(五)cron (用于管理任务计划,在一段时间内把所得到的数据输入到 /dev/null)

ansible all -m cron -a "minute=*/30 job='/usr/sbin/ntpdate s2c.time.edu.cn &> /dev/null'"

(六)fetch (从远程节点上拷贝文件到ansible执行机器上)

ansible 172.16.19.249 -m fetch -a "src=/etc/profile dest=/tmp"

(七)file (改变一个文件的主,组 ,权限)

ansible 172.16.19.249 -m file -a "path=/root/nihao owner=uplooking group=uplooking mode=777"
ansible 172.16.19.249 -m file -a "path=/root/ops state=directory"

(八)hostname (更改远程节点的用户名)

ansible 172.16.19.248 -m hostname -a "name=node3"

(九)pip (在远程节点上安装一个jinjia2的模块)

ansible 172.16.19.249 -m pip -a "name=jinja2"

(十)yum (使用yum包管理器来管理软件包)

ansible webservers -m yum -a "name=httpd state=latest" (安装)
ansible webservers -m yum -a "name=httpd state=absent" (=removed移除vb)

(十一)service (管理服务器 ,enables=yes 是开机自启)

ansible webservers -m service -a "name=httpd state=started enabled=yes"

(十二)user (user模块是请求的是useradd, userdel, usermod三个指令 createhome:创建home目录 ,system : 系统用户 , shell:不允许登录)

ansible 172.16.19.246 -m user -a "name=home1 createhome=no uid=4321 system=yes shell=/sbin/nologin"

(十三)group (goup模块请求的是groupadd, groupdel, groupmod 三个指令)

ansible 172.16.19.246 -m group -a "name=uplooking gid=3120"

(十四)setup (setup模块,主要用于获取主机信息,在playbooks里经常会用到的一个参数gather_facts就与该模块相关。)

ansible 172.16.19.246 -m setup

(十五)script (scripts模块可以在本地写一个脚本,然后在远程服务器上执行)

ansible 172.16.19.246 -m script -a "/root/useradd.sh"

(十六)template (template使用了Jinjia2格式作为文件模版,进行文档内变量的替换的模块)

把/mytemplates/foo.j2文件经过填写参数后,复制到远程节点的/etc/file.conf,文件权限相关略过
- template: src=/mytemplates/foo.j2 dest=/etc/file.conf owner=bin group=wheel mode=0644
跟上面一样的效果,不一样的文件权限设置方式
- template: src=/mytemplates/foo.j2 dest=/etc/file.conf owner=bin group=wheel mode="u=rw,g=r,o=r"

(十七)unarchive (用于解压文件)

ansible 172.16.19.246 -m unarchive -a "src=/root/wordpress.zip dest=/tmp"

(十八)mount (配置挂载点)

ansible 172.16.19.246 -m mount -a "path=/var/www/html src=172.16.19.246:/data/static fstype=nfs state=mounted"

转载于:https://www.cnblogs.com/liu1026/p/7639706.html

ansible的介绍和一些基本模块介绍相关推荐

  1. python url模块介绍_python 中 urlparse 模块介绍

    urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接 1.urlparse.urlparse 将url分为6个部分,返回一个包含6个字符串项目的元组:协议.位置.路 ...

  2. 5G网络实现自动驾驶车联网——第一篇:5G模块介绍实现上网功能

    5G网络实现自动驾驶车联网--第一篇:5G模块介绍实现上网功能 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正,创业初期,欢迎技术 ...

  3. Ansible 自动化运维工具之inventory和常用模块介绍

    一.inventory介绍 前面我们介绍过ansible的hosts文件是存放被管理主机的,被管理主机比较少的情况下,直接在hosts中定义即可,但是以后很定会管理多台主机,而ansible可管理的主 ...

  4. 自动化运维工具ansible(安装与模块介绍)

    自动化运维工具ansible(安装与模块介绍) 一.ansible运维工具概述 (一).ansible的特点 (二).ansible的原理 (三)ansible的优点 二.安装ansible 三.an ...

  5. 自动化运维工具ansible的安装管理以及模块介绍

    自动化运维工具ansible的安装管理以及模块介绍 目录 自动化运维工具ansible的安装管理以及模块介绍 一.ansible概述 1.几种常用运维工具比较 2.Ansible简介 3.Ansibl ...

  6. ansible自动化运维工具的详细介绍、使用、工作原理、安装方式、与被管理节点建立信任关系等等

    ansible简介 Ansible 是一个IT自动化工具,它能够配置系统.部署软件.编排更复杂的it任务,如连续部署或零停机时间滚动更新 Ansible用python编写,尽管市面上已经又很多可供选择 ...

  7. 深度神经网络中Inception-ResNet模块介绍

    之前在https://blog.csdn.net/fengbingchun/article/details/113482036 介绍了Inception,在https://blog.csdn.net/ ...

  8. 爬虫之requests模块介绍

    爬虫之requests模块介绍 requests文档http://docs.python-requests.org/zh_CN/latest/index.html      [文档中包括的快速上手要精 ...

  9. Zynq器件XADC模块介绍

    1.前言 赛灵思的7系列FPGA和Zynq器件创造性地在片上集成了模数转换器和相关的片上传感器(内置温度传感器和功耗传感器),这是相比赛灵思前一代产品来新增加的特性,可在系统设计中免去外置的ADC器件 ...

最新文章

  1. scrum工具leangoo缺陷管理看板示例
  2. Beautiful Soup-4.2.0
  3. python怎么读文件里的某一行-Python如何获取文件指定行的内容
  4. FFMPEG音视频同步-音视频实时采集并编码推流-优化版本
  5. 初步估算轴直径2017-12-13
  6. Android自定义控件实现九宫格解锁
  7. gpio 树莓派3a+_树莓派4上市:性能飙升起售价依然是35美元
  8. setGeometry
  9. RSA加密:javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes
  10. 给工具箱中的控件添加图标
  11. IPv6 节点主动访问 IPv4 节点-地址池方式的NAT64配置
  12. Python 网络爬虫微实战 (爬虫爬取贴吧消息词云显示) 超详解
  13. 字节码插桩(javassist)之插入代码块|IOC框架(Hilt)之对象注入~研究
  14. 机器学习深度学习 常用算法推导
  15. python小白入门
  16. 简易计算器软件系统测试计划,Windows自带的计算器测试计划.doc
  17. sql如何把一个数据库的表复制到另一个数据库中【转载】
  18. android打包诸多so成一个aar并调用aar中的so流程总结
  19. 系统分析员论文(二)------某电子支付系统分析论文
  20. 一张图,三分钟看懂什么是动态IP,内网和外网

热门文章

  1. 【C++】C++类和对象
  2. Android 生成分享长图并且添加全图水印
  3. 【转载】Apache如何设置访问一个目录需要密码
  4. FlashDevelop 遇到的Process not responding 问题
  5. 用 HTML 格式导出 Excel 时,如何保留显示网格线
  6. PAT 1066. 图像过滤(15)-乙级
  7. 蓝桥杯 BASIC-1 基础练习 闰年判断
  8. 【iOS10】使用XCode8、Swift3. 操作SQLite3数据库的步骤(包括配置环境和SQLite语句)
  9. 优势java_Java的核心优势
  10. mongodb最大连接数、最大连接数修改