必须保证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"
 
 
 
 
 
 
 
 

ansible的介绍和一些基本模块介绍的更多相关文章

  1. WPF通用框架ZFS《项目结构介绍01》_模块介绍

    首页介绍: 下图为项目运行首页图片, 大的结构分为三块: 1.Header首部模块(存放通知组件[全局通知.消息管理 ].扩展模块[皮肤.系统设置.关于作者.退出系统]) 2.Left左侧菜单模块(存 ...

  2. Ansible常用模块介绍及使用(week5_day1_part2)--技术流ken

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)--技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几 ...

  3. Ansible 常见模块介绍

    目录 Ansible 常见模块介绍 ping 模块 command 模块 cron 模块 user 模块 group 模块 copy 模块 file 模块 service 模块 shell 模块 sc ...

  4. Ansible常用模块介绍及使用(2)

    Ansible模块 在上一篇博客<Ansible基础认识及安装使用详解(一)–技术流ken>中以及简单的介绍了一下ansible的模块.ansible是基于模块工作的,所以我们必须掌握几个 ...

  5. Ansible常见模块介绍

    本节内容: ansible命令基础 常见模块举例 一.ansible命令基础 语法: ansible <host-pattern> [-f forks] [-m module_name] ...

  6. ansible入门二(Ansible常见模块介绍)

    本节内容: ansible命令基础 常见模块举例 一.ansible命令基础 语法: ansible <host-pattern> [-f forks] [-m module_name] ...

  7. webkit模块介绍

    一.Webkit模块   用到的第三方库如下:   cairo 一个2D绘图库 casqt Unicode处理用的库,从QT中抽取部分代码形成的 expat 一个XML SAX解析器的库 freety ...

  8. 【液晶模块系列基础视频】1.2.iM_RGB模块介绍

    [液晶模块系列基础视频]1.2.iM_RGB模块介绍(上) [液晶模块系列基础视频]1.2.iM_RGB模块介绍(下) ============================== 技术论坛:http ...

  9. 【液晶模块系列基础视频】1.1.iHMI43模块介绍

    [液晶模块系列基础视频]1.1.iHMI43模块介绍(上) [液晶模块系列基础视频]1.1.iHMI43模块介绍(下) ============================== 技术论坛:http ...

随机推荐

  1. 解决在 win10 下 vs2017 中创建 MFC 程序拖放文件接收不到 WM_DROPFILES 消息问题

    解决方案 这个问题是由于 win10 的安全机制搞的鬼,即使以管理员权限运行也不行,因为它会把 WM_DROPFILES 消息过滤掉,那怎么办呢?只需在窗口初始化 OnInitDialog() 里添加 ...

  2. 一图看懂hadoop Yarn工作原理

    Hadoop 资源调度框架Yarn运行流程

  3. P2P借款人信用风险实时监控模型设计

    P2P借款人信用风险实时监控模型设计 P2P网络贷款(“peer-to-peer”)为中小企业和个人提供了便利的融资渠道.近年来,随着互联网金融的逐步发展,P2P网贷已成为时下炙手可热的互联网金融新模 ...

  4. 在AI人工智能中如何巧妙学习大数据编程,成为五十万年薪的佼佼者

    编辑 ai狗年 大数据和人工智能的关系,首先要说什么是大数据.这些年来,大数据先是被神化,继而又被妖魔化,到了今天,其实谁也不知道别人所谓的大数据指的是什么.我大数据从业者,建了一个大数据资源共享群1 ...

  5. Go 学习之路:Println 与 Printf 的区别

    Println 和Printf 都是fmt包中公共方法:在需要打印信息时常用的函数,那么二函数有什么区别呢? 附上代码 package main import ("time"&qu ...

  6. Linux系统下连接校园网Drcom客户端教程(广东工业大学)

    这篇教程写给想要学习Linux系统或者在Linux系统下有需要使用Drcom上网的同学,在我疯狂踩坑,经过n多次的刷机装机实验,体验不同发行版本的linux系统后,终于懂得怎么连接上drcom,想想连 ...

  7. GD32F450 200M时USB不稳定

    使用GD32F450的demo修改usb驱动,发现120M和168M时正常,200M时很不稳定.怀疑USB时钟分频有问题,一查果然是,记录如下: 200M是库函数主时钟分频代码如下 static vo ...

  8. WPF实现拖拽功能

    技术点:WPF的Behaviors实现了对象的行为附加,Microsoft.Expression.Interactions程序集中包含了若干Behaviors,其中MouseDragElementBe ...

  9. 20155207 2016-2017-2 《Java程序设计》第十周学习总结

    20155207 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 狭义的网络编程范畴 ...

  10. OO原则汇总

    SOLID原则:http://www.cnblogs.com/lanxuezaipiao/archive/2013/06/09/3128665.html https://www.cnblogs.com ...