必须保证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. ubuntu配置机器学习环境(二) cuda 和cudnn 安装

    Nvidia CUDA Toolkit的安装(cuda) PS:特别推荐*.deb的方法,目前已提供离线版的deb文件,该方法比较简单,不需要切换到tty模式,因此不再提供原来的*.run安装方法,这 ...

  2. 20155202 《Java程序设计》实验二(面向对象程序设计)实验报告

    20155202 <Java程序设计>实验二(面向对象程序设计)实验报告 代码托管 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...

  3. 20155206 2016-2017-2 《JAVA程序设计》 第二周学习总结

    20155206 2016-2017-2<JAVA程序设计>第二周学习总结 教材学习内容总结 类型 整数 字节 浮点数 字符 布尔 变量 变量在命名时,不可以使用数字或一些特殊字符:*.& ...

  4. Caliburn.Micro - IResult and Coroutines

    IResult and Coroutines 翻译[三台]:网址[http://home.cnblogs.com/u/3Tai/] Previously, I mentioned that there ...

  5. 【LOJ121】「离线可过」动态图连通性

    [LOJ121]「离线可过」动态图连通性 题面 LOJ 题解 线段树分治的经典应用 可以发现每个边出现的时间是一个区间 而我们每个询问是一个点 所以我们将所有边的区间打到一颗线段树上面去 询问每个叶子 ...

  6. Apache入门篇(四)之LAMP架构部署

    一.LAMP解析 a: apachem: mariadb, mysqlp: php, perl, python 静态资源:静态内容:客户端从服务器获得的资源的表现形式与原文件相同:动态资源:通常是程序 ...

  7. rem布局注意问题和meta标签

    使用rem前的准备: 如果是移动端,添加name="viewport"的meta标签,其中的属性数值根据实际需求而定: <meta name="viewport&q ...

  8. NLP的12条精髓

    NLP是神经语言程序学 (Neuro-Linguistic Programming) 的英文缩写.一.没有两个人是一样的 No two persons are the same. 1.没有两个人的人生 ...

  9. linux 命令缩写

    su super user apt advanced packaging tool ifconfig interface configuration so shared object fsp frac ...

  10. Saving James Bond - Easy Version (MOOC)

    06-图2 Saving James Bond - Easy Version (25 分) This time let us consider the situation in the movie & ...