批量管理 ansible详解一

day 37 综合架构批量管理 ansible

课程介绍

1. 远程管理配置文件参数
2. 远程管理防范入侵方法
3. 批量管理服务概念作用
4. 批量管理服务安装部署
5. 批量管理服务配置应用
a 主机清单配置
b 掌握模块功能应用
c 掌握剧本功能配置

课程回顾

1. 远程管理服务:
SSH 22端口 密文传输 安全性高
telnet 23端口 明文传输 安全性低

2. 秘钥的作用:
利用秘钥进行加密数据,利用秘钥进行用户身份认证

3. 基于密码连接的过程和基于秘钥连接的过程
4. 分发公钥脚本编写

远程管理服务配置文件

/etc/ssh/sshd_config - - - ssh服务端配置文件
/etc/ssh/ssh_config - - - ssh客户端配置文件

grep -vE "^$|^# " /etc/ssh/sshd_config

#port 22 - - - 指定端口号 换一换 52113
#ListenAddress 0.0.0.0 - - - 任意主机地址都进行监听

PS: 所有服务监听的地址只能是本地网卡上有的地址

#PermitRootLogin yes - - - 是否允许root用户远程登录 oldboy--su - (jumpserver)
#PermitEmptyPasswords no - - - 是否需要登录密码
#GSSAPIAutentication yes - - - 使用GSSAPI认证方式进行远程连接 影响ssh远程连接速率
#UseDNS yes - - - 是否进行DNS反向解析 影响ssh远程连接速率

03. 远程管理防范入侵

1. 尽量使用秘钥认证,不要使用密码认证(密码复杂度 定期修改)\
2. 尽量让架构中的服务器没有外网网卡
3. 对于拥有外网服务器,做好服务地址监听,提高安全性(只监听虚拟地址)
4. 防火墙服务/硬件,根据业务情况,做好安全访问控制 ASL访问控制 ASA
5. 监控系统重要文件是否被修改 /etc/porfile (整个/etc/ 整个/var/) inotify实时监控,对比指纹信息
6. 给重要文件信息上锁
  • 用户相关文件上锁: (passwd shadow group groupshadow)
  • 服务程序运行相关文件上锁: (rc.local peofile.d/ crond)
  • 系统环境配置相关文件: (pordile bashrc ifcfg-eth0 reslove.conf rsyncd.conf)

批量管理服务概念介绍 ansible saltstack

1. 同时并行管理多台主机
a 实现批量分发数据信息
b 实现批量部署软件服务
c 实现批量收集系统信息: 资产管理
d 实现批量自动管理应用: 代码上线 服务重启操作

2. ansible软件特点
a 部署安装简单方便
b 软件不需要启动服务
c 客户端不需要进行配置
d 功能作用非常强大

ansible软件部署过程:

管理端:
第一个里程: 安装软件
yum install -y ansible

ansible.cfg - - - ansible程序配置文件 默认配置即可
hosts - - - 已知清单文件 配置时直接添加被管理端ip即可
roles - - - 把playbook根据功能,如handler,tasks等分门别类的放在在各自的子目录下,形成一个集合,就是角色,建议把角色放在固定的目录下,目录可以ansible的配置文件中的roles_path来定义。

命令语法结构

ansible 管理谁 -m 模块信息 -a 具体使用模块什么参数
ansible 172.16.1.41 -m ping
ansible语法格式.png
遇到问题:链接拒绝

排错一: 被管理端端口配置信息 /etc/ssh/sshd_config 可能设置错误
排错二: 权限拒绝:
分发公钥信息

排错三: 没有主机信息: [root@m01 ansible]# ansible 172.16.1.31 -m ping

[WARNING]: Could not match supplied host pattern, ignoring: 172.16.1.31

[WARNING]: No hosts matched, nothing to do

只有主机清单中定义主机信息,可以被ansible管理

被管理端:
确认防火墙和selinux安全服务是否关闭

对比saltstack 安装部署:https://blog.51cto.com/pankuo/1982622?tdsourcetag=s_pcqq_aiomsg

如何配置使用软件

1. 主机清单配置

vim /etc/ansible/hosts
172.16.1.41 - - - ansible管理端可以管理的主机信息

主机清单配置方法:
方法一: 直接写上管理主机ip地址信息
172.16.1.41
172.16.1.31
172.16.1.7

进行测试:
ansible 172.16.1.41 -m ping
ansible all -m ping

方法二: 按照分组信息配置
[rsync_server]
172.16.1.41

[rsync_client]
172.16.1.31
172.16.1.7

进行测试:ansible rsync_server -m ping
172.16.1.41 | SUCCESS => {

方法三: 设置管理主机连接参数(ansible程序内置变量)信息
[rsync_server]
172.16.1.41 ansible_user=root ansible_password=654321 ansible_port=22

[rsync_server]
定义名字 ansible_host=172.16.1.41 ansible_password=654321 ansible_port=22
(需要先ssh 然后yes)

方法四: 嵌入式配置主机清单
[rsync:children]
rsync_server
rsync_client

进行测试:ansible rsync -m ping

或者: 对所在组统一调用变量
[rsync_server]
172.16.1.41

[rsync_server:vars]
ansible_user=root
ansible_port=22
ansible_password=654321

方法五: 使用匹配符号信息,匹配多个主机
[rsync_server]
172.16.1.[1:7]

内置变量

ansible_user=root ---登录用户
ansible_password=654321 ---用户密码
ansible_port=22 ---连接端口
对端主机名 ansible_host=172.16.1.41 ---可以使用主机名称进行管理

官网参考: https://docs.ansible.com

官网需要关注的模块.png

2. 掌握功能模块

补充:如何学习模块使用方法

1. 简单了解模块作用
command - Execute commands on targets - - - 在目标主机上执行命令模块

2. 模块详细说明
3. 掌握模块参数用法 根据样例学习参数信息

补充:ansileb命令颜色提示

1. 绿色: 对主机信息进行查看,操作执行成功
2. 黄色: 对主机信息进行查看,对系统信息有调整更改
3. 紫色: 建议,忠告信息 提示更专业的模块
4. 红色: 错误信息

image.png

第一个模块: command 命令模块 批量执行命令 默认模块
ansible oldboy -m command -a "/server/scripts/create_user.sh"

第二个模块: shell 命令模块 批量执行命令 万能模块
ansible oldboy -m shell -a "yum install -y hotp"
ansileb oldboy -m shell -a "cd /tmp;pwd"

PS: 用法问题:1.不如专业模块执行批量管理功能效率高2.不像专业模块具有幂等性(=可以执行多次)

第三个模块: scripts 命令模块 批量运行脚本
ansible oldboy -m scripts -a mazi.sh

专业模块与shell全能模块执行脚本对比

shell

第一个里程: 编写脚本
第二个里程: 将脚本进行分发
ansible oldboy -m copy -a "src=/server/scripts/create_user.sh dest=/server/scripts/"
第三个里程: 修改脚本权限
ansible oldboy -m file -a "path=/server/scripts/create_user.sh mode=755"
第四个里程: 批量执行脚本
ansible oldboy -m shell -a "/server/scripts/create_user.sh"

第三个模块: script 命令模块 批量运行脚本

第一个里程: 编写脚本
第二个里程: 批量执行脚本
ansible oldboy -m script -a "/server/scripts/create_user.sh"

课程知识总结:

1. ssh远程管理服务配置文件 监控参数作用
2. ssh远程管理服务防范入侵
3. ansible软件功能作用
4. ansible软件部署过程
5. ansible软件配置应用
a ansible主机清单配置方法 5种方法
b ansible主机模块功能应用 3个模块 command(默认模块) shell(万能模块) script(批量执行脚本模块)

任务:
01. ansible利用域名管理主机时, 每次都需要有yes/no确认, 如何实现免交互
02. 以下四个内置变量有什么用
ansible_become
ansible_become_method
ansible_become_user
ansible_become_password

03. 自学两个模块使用方法
expect – Executes a command and responds to prompts
telnet – Executes a low-down and dirty telnet command

补充

查看模块信息总数量

模块总数.png

远程批量修改文件权限

改权限.png

远程copy文件 脚本

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念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

推荐阅读更多精彩内容