【Linux】ansible批量管理服务器


前言

本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。


一、概述

1.1 ansible简介

  • 服务没有客户端存在,通过模块对节点服务器进行控制
  • 模块具有幂等性,重复的操作不会报错
  • 能够批量配置、部署、管理上千台主机

1.2 ansible安装

  • 仅需在控制主机安装ansible服务即可(本质是通过ssh进行连接控制)
#安装epel源
yum install -y epel-release

#安装ansible服务
yum install -y ansible

#编辑主机清单配置
vim /etc/ansible/hosts

#生成非对称秘钥
ssh-keygen -t rsa
#传输给节点主机,实现免密登陆
ssh-copy-id root@IP

二、剧本

2.1 剧本组件

组件释义
tasks任务
variables变量
templates模块(核心)
handlers处理器
roles角色

2.2 角色详解

在配置文件:/etc/ansible/hosts总定义角色组

#自定义组
[mysql]

#选择所有组
all

#组合组(多个组在一起)
[组集合名:child]

#设置组变量
[组名:vars]

2.3 剧本语法

2.3.1 基本语法

  • 大小写敏感、大小写不同则含义不同
  • 缩进敏感、用缩进表示层级关系
  • 缩进不允许用tab键、只能识别空格
  • 文本中空格的数量不重要,只要左侧对齐,则层级相同

2.3.2 常用字段

  • remote-user:用什么身份登录
  • tasks:子条目编写角色将要执行的任务
  • become:yes:表示切换用户执行
  • become_user:用户:切换为对应用户进行执行
  • – name:定义下方操作的名称(方便维护)

2.3.4 常用模块

模块释义
command:命令模块执行后方的Linux命令
cron:周期任务模块定义周期性执行任务(相当于crontab -e)
user:用户模块创建/删除用户
group:组模块创建/删除组
copy:复制模块将本机文件复制到其他机器
file:文件模块对文件进行增删操作
ping:ping模块检测机器是否正常通信
service:服务模块配置其他机器是否开机自启等
yum:yum模块控制机器通过yum安装服务
shell:脚本模块控制机器使用shell脚本(非幂等性操作)

三、思维导图

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪碧不要气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值