Day 45 Ansible批量管理

1.1 Ansible是一个配置管理系统configuration management system

你只需要可以使用ssh访问你的服务器或设备就行。

1.1.1 安装软件

1.1.2 配置服务

1.2 Ansible能做什么

ansible可以帮助我们完成一些批量任务,或者完成一些需要经常重复的工作。

比如:同时在100台服务器上安装nfs服务,并在安装后启动服务。

比如:将某个文件一次性拷贝到100台服务器上。

比如:每当有新服务器加入工作环境时,你都要为新服务器部署某个服务,也就是说你需要经常重复的完成相同的工作。

这些场景中我们都可以使用到ansible。

Cobbler

Ansible

1.购买机器->2.配置环境->3.部署代码->4测试->5.加入集群

Ansible/Saltstack(master->minion)

1.3 Ansible软件特点

1.ansible不需要单独安装客户端,SSH相当于ansible客户端。

2.ansible不需要启动任何服务,仅需安装对应工具即可。

3.ansible依赖大量的python模块来实现批量管理。

4.ansible配置文件/etc/ansible/ansible.cfg

1.4    实现从管理机m01到其他机器的密钥认证

1.4.1 ansible借助公钥批量管理

#利用非交换式工具实现批量分发公钥与批量管理服务器

[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.31

[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.41

[root@m01 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.1.7

1.4.2 安装ansible

[root@m01 ~]# yum install ansible -y

1.4.3 配置ansible

[root@m01 ~]# vim /etc/ansible/hosts

[oldboy]

172.16.1.31

172.16.1.41

1.4.4 验证ansible

# ansible是通过ssh端口探测通信

[root@m01 ~]# ansible oldboy -m ping

172.16.1.7 | SUCCESS => {

"changed": false,

"ping": "pong"

}

172.16.1.31 | SUCCESS => {

"changed": false,

"ping": "pong"

}

172.16.1.41 | SUCCESS => {

"changed": false,

"ping": "pong"

}

#批量执行命令

[root@m01 ~]# ansible oldboy -m command -a "df -h"

#2.如果没有给对应的主机下发公钥,可以使用密码的方式进行添加

172.16.1.41 ansible_ssh_user='root' ansible_ssh_pass='1' ansible_ssh_port='22'

1.4.5 定义主机清单

[web]

172.16.1.7

[nfs]

172.16.1.31

[backup]

172.16.1.41

[oldboy:children]

web

nfs

backup

[root@m01 ~]# ansible web --list-hosts          #web

hosts (1):

172.16.1.7

[root@m01 ~]# ansible nfs --list-hosts          #nfs

hosts (1):

172.16.1.31

[root@m01 ~]# ansible backup --list-hosts       #rsync

hosts (1):

172.16.1.41

[root@m01 ~]# ansible oldboy --list-hosts       #集中所有的小组,用于执行一些基础的配置

hosts (3):

172.16.1.31

172.16.1.41

172.16.1.7

1、命令   ->  文件  = 脚本

2、模块   ->  文件  = 剧本

安装  配置   启动

1.5 模块

1.command  执行命令

2.shell    执行命令

3.yum      安装软件模块

4.copy     配置模块

5.service  启动服务模块

6.user     用户管理

7.file     创建目录,创建文件,往文件写内容

8.cron      定时任务

9.mount    挂载

1.5.1 command命令模块

# 默认模块, 执行命令

[root@m01 ~]# ansible oldboy  -a "hostname"

# 如果需要一些管道操作,则使用shell

[root@m01 ~]# ansible oldboy -m shell -a "ifconfig|grep eth0" -f 50

# -f =forks   /etc/ansible/ansible.cfg #结果返回的数量

1.5.2 2.yum安装模块

#推送脚本文件至远程,远程执行脚本文件

[root@m01 ~]# ansible oldboy -m yum -a "name=httpd state=installed"

name    ---指定要安装的软件包名称

state   ---指定使用yum的方法

installed,present   ---安装软件包

removed,absent      ---移除软件包

latest               ---安装最新软件包

1.5.3 3.copy模块

# 推送文件模块

[root@m01 ~]# ansible oldboy -m copy -a "src=/etc/hosts dest=/tmp/test.txt owner=www group=www mode=0600"

# 在推送覆盖远程端文件前,对远端已有文件进行备份,按照时间信息备份

[root@m01 ~]# ansible oldboy -m copy -a "src=/etc/hosts dest=/tmp/test.txt backup=yes"

# 直接向远端文件内写入数据信息,并且会覆盖远端文件内原有数据信息

[root@m01 ~]# ansible oldboy -m copy -a "content='bgx' dest=/tmp/oldboy"

src           --- 推送数据的源文件信息

dest          --- 推送数据的目标路径

backup        --- 对推送传输过去的文件,进行备份

content       --- 直接批量在被管理端文件中添加内容

group         --- 将本地文件推送到远端,指定文件属组信息

owner         --- 将本地文件推送到远端,指定文件属主信息

mode          --- 将本地文件推送到远端,指定文件权限信息

1.5.4 service服务模块

[root@m01 ~]# ansible oldboy -m service -a "name=crond state=stopped enabled=yes"

name        --- 定义要启动服务的名称

state       --- 指定服务状态是停止或是运行

started     --- 启动

stopped     --- 停止

restarted   --- 重启

reloaded    --- 重载

enabled     --- 是否让服务开启自启动

1.5.5 指定主机下测试

1.安装

[root@m01 ~]# ansible web -m yum -a "name=httpd state=installed"

2.配置

[root@m01 ~]# ansible web -m copy -a "content='This is Ansible' dest=/var/www/html/index.html"

3.启动

[root@m01 ~]# ansible web -m service -a "name=httpd state=started"

转载于:https://blog.51cto.com/13859649/2173822

Day 45 Ansible批量管理相关推荐

  1. Ansible批量管理与维护

    Ansible是2013年推出的一种通用自动化工具,可用于配置管理或工作流程自动化.配置管理是一种"基础架构代码"实践,它将事物编码,例如应该在系统上安装什么包和版本,或者应该运行 ...

  2. Ansible批量管理Windows服务器,winrm配置

    (一)Ansible简介 Ansible 是一款轻量级的开源的自动化运维工具,支持 linux 和 windows(只支持 client,并且部分模块),利用 Ansible 可以简单批量的配置系统, ...

  3. Ansible批量自动化管理工具(二)

    Ansible批量自动化管理工具(二) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...

  4. 大型企业中如何批量管理千万台服务器之ansible自动化运维工具详解 [⭐建议收藏⭐]

    文章目录 ansible 自动化运维工具 详解 关于作者 作者介绍 一.ansible 概述 1.1 ansible 概述 1.2 是什么要使用 ansible 1.3 ansible 功能 1.4 ...

  5. 综合架构批量管理服务--Ansible(2)

    综合架构批量管理服务–Ansible 本篇介绍部分 1) ansible批量管理服务模块说明 2) ansible批量管理服务主机清单 3) ansible批量管理服务剧本编写 4) ansible批 ...

  6. Linux 运维工作中的经典应用ansible(批量管理)Docker容器技术(环境的快速搭建)...

    一 Ansible自动化运维工具 Python 在运维工作中的经典应用ansible(批量管理操作)1.安装ansible(需要bese epel 2种源) wget -O /etc/yum.repo ...

  7. Linux之Ansible批量运维管理

    Ansible介绍 Ansible是2013年推出的一款批量管理工具,基于Python语言开发,2015年被RedHat收购 Ansible基于Paramiko实现SSH协议链接通讯,默认只要被管理节 ...

  8. 自动化运维工具ansible学习+使用ansible批量推送公钥到远程主机

    原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 .作者信息和本声明.否则将追究法律责任. 目录: 一.ansible简介 1.1.ansible是什么 1.2.ansible如何工作 ...

  9. HPQLOCFG 批量管理 HP iLO 实践

    前言 HP iLO, Dell iDRAC, IBM/Lenovo IMM 等这些名字对于服务器硬件工程师来说应该不会陌生,当然在服务器采购回来大规模上架的时刻很多小伙伴估计就要崩溃了,OOB带外管理 ...

  10. Python简单主机批量管理工具

    Python简单主机批量管理工具 一.程序介绍 需求: 简单主机批量管理工具需求:1.主机分组2.主机信息使用配置文件3.可批量执行命令.发送文件,结果实时返回4.主机用户名密码.端口可以不同5.执行 ...

最新文章

  1. 架空输电线路运行规程_[精品课程]绝缘子及其设计架空输电线路设计
  2. python去哪里学-学Python从哪里开始?
  3. FirstApp,iphone开发学习总结7,相机
  4. ubuntu下修改中文字体
  5. 谈谈 css 的各种居中——读编写高质量代码有感
  6. Linux学习笔记7
  7. win10 mysql 主从复制_win10 使用Docker配置mysql主从复制
  8. 跨网段远程调试vs_使用 VS 2019 跨平台编写和调试 Linux C/C++程序
  9. Unity3D性能优化
  10. pytorch Tensor.backward
  11. java jdk1 5手机版,java jdk1.7|java7_绿茶手机网
  12. vue2.0+vue-video-player实现hls播放的案例
  13. 解决Vue 2.0在IE11版本浏览器中的兼容性问题
  14. 计算机硬件和系统重装,重装系统对电脑有什么影响【图文】
  15. 自动光学检测(AOI)
  16. 【软件测试】POST请求包含哪些参数
  17. 网络兼职正规网站,做兼职的来看看,防止被骗!
  18. HMM模型 forward backward viterbi算法
  19. Ruby Rose动态壁纸制作记录
  20. NFC OMA 访问

热门文章

  1. oracle事件跟踪器使用,Oracle 10046跟踪事件操作步骤
  2. 锁 公平 非公平_推荐引擎也需要公平!
  3. Python模块的导入
  4. 程序设计导引及在线实践_四金一银!西电在计算机系统与程序设计竞赛再创佳绩...
  5. 为啥mysql的load这么快_【MySQL】浅谈MySQL的LOAD DATA
  6. python.day.04——常用数据类型(一):strList
  7. 事务Transaction 那点事儿
  8. 纵观中日韩市场 PC视频会议高清时代来临
  9. 利用Metaweblog技术的API接口同步到多个博客网站(详细)
  10. CentOS 7 下挂载新硬盘