综合架构远程管理-详解二

day 38 综合架构批量管理 ansible(自动化管理软件)

课程介绍

1. 批量管理服务配置
a 主机清单配置部分

b 掌握模块功能应用
copy(推送) , fetch(拉取) , file(管理数据信息/修改属性 或者 创建/删除数据) ,user(创建用户) , group(创建用户) ,yum(下载安装软件) ,service(管理服务运行状态) ,cron(定时任务模块)

特殊需求:
archive unarchive(压缩/解压缩) ,setup(收集信息模块) , debug(指定输出相应信息) , tmplate(模板模块) , mysql(数据库???) lineinfile(类似sed命令 修改替换文件内容)

c 掌握剧本功能副本

课程回顾

1. 远程管理服务配置文件
/etc/ssh/sshd_conf 服务端
/etc/ssh/ssg_conf 客户端

2. 原创管理服务防范入侵
a 尽量使用秘钥登录
b 尽量减少架构中外网地址
c 有外网地址的服务器,进行监听
d 防火墙硬件做安全访问 控制
e 监控重要文件是否被修改
f 对重要文件信息上锁

3. 批量管理服务 ansible
a 概念:同时并行管理多台数据
b 作用:实现批量部署服务
实现批量分发数据
实现批量收集主机信息
实现批量自动化管理应用
c 特点:部署安装简单方便
客户端不需要部署
软件不需要启动服务
功能强大

4. ansible部署
管理端: yum install -y ansible
被管理端: 确认防火墙和selinux是否关闭

5. ansible主机清单配置 /etc/ansible/hosts
方法一:直接将ip地址写入
方法二:分组进行配置
方法三:设置ansible内置变量
方法四:嵌入式配置主机清单
方法五:利用匹配符号

第四个模块, copy 文件模块 可以讲管理端数据进行批量分发/也可以移动或调整被管理端数据

重要模块参数:
src : ---指定管理端要分发的数据路径信息
dest : ---指定数据传输到被管理端什么目录中
mode : ---数据传输完毕后,设置数据权限信息
owner : ---数据传输完毕后,设置数据属主信息
group : ---数据传输完毕后,设置数据属组信息
backup : ---是否开启文件备份==.bak
remote_src : ---指定源的路径信息,从被管理端进行读取
content : ---可以直接不在管理端创建文件,对文件进行分发,并且可以编辑文件简单内容
validate : 检查文件信息的语法错误以及其他错误

模块参数用法一:
  • ansible 分组 -m copy -a "src=/oldboy/oldboy.txt dest=/oldboy/ mode=600 owner=属组 group=属主"
    说明: 对目录进行分发

    1. 修改文件权限信息 和 文件属主属组信息
    2. 可以在被管理端穿件指定目录信息
  • ansible 分组 -m copy -a "src=/oldboy/ dast=/oldboy/"
    说明: 对目录进行分发
    src指定目录后面有斜线: 传输目录下面的内容
    src指定目录后面没有斜线: 传输整个目录
模块参数用法二:备份数据/还原数据\

传输备份文件数据方法一:
ansible 分组 -m copy -a "src=/oldboy/oldboy.txt dets=/oldboy/ backup=yes"

传输备份文件数据方法二:
ansible oldboy -m copy -a "src=/oldboy/oldboy.txt dest=/oldboy/oldboy.txt.bak remote_src=yes"

还原数据
ansible oldboy -m copy -a "src=/oldboy/oldboy.txt.bak dest=/oldboy/oldboy.txt remote_src=yes"

=================================================================
参数说明
ansible oldboy -m copy -a "src=/oldboy/oldboy.txt dest=/opt/ remote_src=yes"
== 相应被管理端 mv /oldboy/oldboy.txt /opt/
ansible oldboy -m copy -a "src=/oldboy/oldboy.txt dest=/opt/"
== 相应管理端 scp -rp /oldboy/oldboy.txt xx.xx.xx.xx:/opt/
================================================================

第五个模块fstch 文件模块 进行数据拉取操作

重要参数:
src : ---指定远程主机需要拉取数据信息
dest : ---将数据保存到本地管理主机的什么路径中

拉取数据方法:
ansible oldboy -m fetch -a "src=/opt/password.txt dest=/oldboy"

拉取后的数据是根据源端路径信息保存

第六个模块: file 文件类型 直接修改数据属性/创建或删除数据信息

重要参数:
path : 指定要操作的远程主机数据路径信息
mode : 修改文件权限信息
owner : 修改文件属主信息
group : 修改文件属组信息
state: 状态参数信息:创建目录(directory)/文件(touch)/软链接(link)/硬链接(hard)/还可以删除文件(absent)/查看普通文件是否存在(file)
recurse : 递归修改目录权限

用法一: 修改文件属主/组信息
ansible 主机 -m file -a "path=对端文件 mode=666 owner=属主 group=属组"

修改目录权限属性信息:
ansible 主机 -m file -a "path=/对端目录/ mode=666 owner=属主 group=属组" 递归修改目录权限 recurse=yes

用法二: 添加或删除数据信息
创建目录:
ansible 主机 -m file -a "path=/oldboy/可多级目录 state=directory"

创建文件:
ansible 主机 -m file -a "path=/oldboy/oldboy.txt state=touch"

创建软链接:
ansible 主机 -m file -a "src=/oldboy/oldboy.txt path=源目录 state=link"

创建硬链接:
ansible 主机 -m file -a "src=/oldboy/oldboy.txt path=源目录 state=hard"

删除文件:
ansible 主机 -m file -a "path=/oldboy/oldboy.txt state=absent"

删除目录:
ansible 主机 -m file -a "path=/oldboy/oldboy/ state=absent"

查看普通文件是否存在:
ansible 主机 -m file -a "path=路径文件 state=file"

第七个模块: user 用户模块 创建或删除用户信息

name : 指定创建用户名称
create_home : 创建用户是否有家目录
shell : 指定用户是否能够登陆系统 虚拟用户 /sbin/nologin
uid : 指定用户uid数值
password : 指定用户密码信息 如何使用密文信息设置密码
state : 默认present表示创建用户 使用absent删除用户信息
group : 指定用户属于哪个用户组(主要组)==useradd -g
groups : 指定用户属于哪个用户组(附属组)==useradd -G
remove=yes : 将用户家目录删除

用法一: 创建用户用户
ansible 主机 -m user -a "name=rsync uid=2000 create_home=no shell=/sbin/nologin"(虚拟)
ansible 主机 -m user -a "name=oldboy uid=2001"(普通用户)

用法二: 设置用户密码信息
ansible 主机 -m user -a "name=oldboy password="

PS:利用user,模块如何创建密文密码信息 双引号换成单引号以防解析密文中变量符号
创建密文密码信息的两种方法.png
PS:更新pip python软件包源方式

用法三: 删除用户信息
ansible 主机 -m user -a 'name=oldboy state=absent'
删除用户家目录 remove=yes

第八个模块 : group 用户模块 创建或删除用户组信息

重要参数:
name : 指定创建用户组名称信息
gid : 指定创建用户组id编号信息
state : 默认present指定absent表示删除用户组

用法一: 创建指定用户组信息
ansible 主机 -m group -a "name=oldboy gid=3000"

用法二: 删除指定用户组
ansible 主机 -m group -a "name=oldboy state=absent"

第九个模块: yum 安装软件模块 安装软件/卸载软件

name : 指定安装什么软件
state : 指定状态信息安装软件(installed , latest , present) 卸载软件(absent , removed)

用法一: 安装软件
ansible 主机 -m yum -a "name=telnet-server state=installed"

用法二: 卸载软件程序
ansible 主机 -m yum -a "name=telnet-server state=absent"

第十个模块: service 系统模块 控制服务运行状态

重要参数:
name : 指定要管理的服务名称
state : 指定服务运行状态 停止(stopped) 启动(started) 重启(restarted) 平滑重启(reloaded)
enabled : 指定服务是否开机自启

用法一: 启动服务等等
ansible 分组 -m server -a "name=rsyncd state=started"

用法二: 设置服务开机自启或关闭(no)
ansible 分组 -m server -a "name=rsyncd enabled=yes

第十一个模块: cron 系统模块 批量设置定时任务

重要参数 ==(crontab -e)
name : 定义定时任务的注释信息,避免出现重复的定时任务
minute : 指定时间信息中 分钟 信息(0-59 */5 0,10) ,是分隔 -是连续
hour : 指定时间信息中 小时 信息(0-23 *)
day : 指定时间信息中 日期 信息(1-31)
mouth : 指定时间信息中 月份 信息(1-12)
weekday : 指定时间信息中 星期 信息(0-6)
job : 指定定时任务命令信息
disabled : 注释任务信息(yes) 取消注释(no)

用法一: 设置定时任务
ansible 主机 -m cron -a "name=1 minute=*/5 job=ntpdate ntp1.aliyun.com"

用法二: 删除定时任务
ansible 主机 -m cron -a "name=1 state=absent

用法三: 注释定时任务
ansible 主机 -m cron -a "name=1 minute=*/5 'job=ntpdate ntp1.aliyun.com' disabled=yes"(如果不写任务时间信息的话会把时间重置)

第十二个模块: mount 系统模块 进行批量挂载

src : 挂载存储设备信息
path : 挂载点目录信息
fstype : 挂载的文件系统类型
state : 指定挂载(mounted , present)还是卸载(unmounted , absent)
挂载 : mounted:临时挂载存储目录信息 永久也挂载了存储挂载目录信息 推荐 --- present: 只是实现永久挂载
卸载: unmounted: 只是实现临时卸载 --- absent: 临时卸载 永久也卸载

挂载 : ansible 172.16.1.41 -m mount -a "src=172.16.1.31:/data path="

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,898评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,401评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,058评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,539评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,382评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,319评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,706评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,370评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,664评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,715评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,476评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,326评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,730评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,003评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,275评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,683评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,877评论 2 335

推荐阅读更多精彩内容