当前位置:   article > 正文

【Linux】ansible批量管理服务器_linux服务器批量管理工具

linux服务器批量管理工具


前言

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


一、概述

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

二、剧本

2.1 剧本组件

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

2.2 角色详解

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

#自定义组
[mysql]

#选择所有组
all

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

#设置组变量
[组名:vars]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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脚本(非幂等性操作)

三、思维导图

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/418506
推荐阅读
相关标签
  

闽ICP备14008679号