这门课解决什么问题
很多运维或转行同学,写 Shell 脚本还能对付单机任务,但一到集群环境就抓瞎:几十台机器要不要挨个 SSH?密码怎么传?日志散在每台主机上怎么看?故障排查时到底在哪台节点出问题?这套课的核心就是帮你建立「运维开发」思维,从单机脚本升级到「多主机协同控制」。内容重点放在 SSH 协议的实际用法,无论是免密还是非免密场景,都给了完整的代码案例和参数详解。特别是生产环境集群初始化的那段完整脚本,分上中下三集,把真实工作中的坑都拆解了一遍,还包括 firewalld 和 selinux 的一键关闭处理,以及跨主机执行脚本后结果返回值的处理逻辑。
适合什么基础
建议你先具备以下能力再来看:能独立写 Shell 条件判断、循环、函数;熟悉 Linux 基本命令;知道什么是 IP、端口、SSH 连接。如果你还在记 if/else 语法,建议先把基础 Shell 过一遍。课程涉及 ZooKeeper、Kafka 等分布式组件的部署案例,不需要你精通这些组件本身,但需要你能理解三个节点、配置文件分发这样的概念。课程没有要求你有运维开发岗位经验,但学完后的内容直接对应该岗位的核心工作场景,所以转行者也能学到真东西。
建议先看哪几块
第 1 章是入门认知部分,可以快速浏览或直接跳过。重点看第 2 章和第 3 章。第 2 章要先搞懂 SSH 免密和非免密的两种写法,理解 sshpass 工具的使用边界和适用场景。第 3 章的 ZooKeeper 和 Kafka 部署案例很有价值,建议先手动部署一次,再看脚本怎么写,这样对比着学印象更深。多主机执行指令的函数封装部分,试着把它改造成你能复用的模板。
学完能独立做什么
学完之后,你可以独立写出能在多台主机上并行执行的运维脚本,完成集群初始化、服务分发部署、跨主机日志收集等日常工作。面对生产环境的批量操作需求,你不再需要逐台登录,而是能用脚本一键搞定。同时,你也建立了运维开发的底层思维,为后续学习 Ansible、SaltStack 等自动化运维工具打下坚实基础。
资料怎么配合练习
资料按章节组织,每节视频时间不短,普遍在 10 到 15 分钟,不要倍速一带而过。Shell 这门手艺,看懂和能手写是两回事,必须跟着敲。建议先用资料里的代码在自己测试环境跑通,再尝试修改参数、增加功能,把别人的脚本变成自己的工具。
课程目录
第1章 shell运维开发浅谈 试看 5 节 | 39分钟 1-1 关于这门课你需要了解的都在这里 (15:53).mp4 1-2 运维开发岗位核心知识图谱 (06:41).mp4 1-3 shell在运维开发中的重要性及地位 (04:18).mp4 1-4 大型集群环境下运维开发面临那些挑战 (04:38).mp4 1-5 运维开发就业前景如何 (07:21).mp4 第2章 SSH协议管理多主机基础 12 节 | 99分钟 2-1 SSH协议简要介绍 (09:52).mp4 2-2 Shell编程中SSH协议的两种用法 (07:02).mp4 2-3 SSH非免密环境-脚本用法示例 (15:18).mp4 2-4 【扩展】非免密场景下ssh及sshpass的使用参数详解.mp4 2-5 SSH免密环境-脚本用法示例 (11:03).mp4 2-6 非免密和免密各自适用场景及优劣势 (09:39).mp4 2-7 生产环境集群初始化完整脚本案例(上) (10:14).mp4 2-8 生产环境集群初始化完整脚本案例(中) (08:56).mp4 2-9 生产环境集群初始化完整脚本案例(下) (10:23).mp4 2- 10 SSH跨主机执行指令结果返回值处理 (06:25).mp4 2- 11 SSH跨主机执行脚本结果返回值处理 (10:04).mp4 2-12 【任务】生产环境如何选择适合自己的SSH管理方式?.mp4 第3章 利用SSH实现分布式应用的一键安装部署 24 节 | 258分钟 3-1 本章概览 (07:31).mp4 3-2 手动部署3节点分布式zookeeper集群.mp4 3-3 手动部署3节点分布式Kafka集群.mp4 3-4 分布式kafka集群安装部署脚本框架 (07:25).mp4 3-5 多主机执行指令函数封装 (11:54).mp4 3-6 利用exec管理安装部署日志 (10:31).mp4 3-7 实现一键永久关闭firewalld和selinux (08:46).mp4 3-8 多主机传输文件函数封装(上) (10:23).mp4 3-9 多主机传输文件函数封装(中) (08:32).mp4 3- 10 多主机传输文件函数封装(下) (16:05).mp4 3- 11 安装配置JAVA环境 (18:18).mp4 3- 12 安装配置zookeeper代码实现(上) (14:53).mp4 3- 13 安装配置zookeeper代码实现(中) (15:08).mp4 3- 14 安装配置zookeeper代码实现(下) (19:23).mp4 3- 15 安装配置scala环境代码实现 (14:27).mp4 3-16 安装配置kafka代码实现(1) (07:12).mp4 3-17 安装配置kafka代码实现(2) (13:22).mp4 3-18 安装配置kafka代码实现(3) (17:59).mp4 3-19 安装配置kafka代码实现(4) (10:23).mp4 3-20 安装配置kafka代码实现(5) (10:00).mp4 3- 21 分布式多主机一键部署脚本复杂环境测试(上) (13:15).mp4 3- 22 分布式多主机一键部署脚本复杂环境测试(下) (14:09).mp4 3- 23 多主机安装部署日志设计、分析及故障追踪 (07:42).mp4 3-24 【任务】分布式集群应用一键安装部署编码的核心步骤有几个?.mp4 第4章 集群多主机一键启停服务脚本 13 节 | 155分钟 4-1 章节导学 (08:54).mp4 4-2 一键启停脚本功能演示及脚本骨架搭建 (12:58).mp4 4-3 一键检测多主机Kafka服务状态函数代码实现 (19:09).mp4 4-4 一键启动多主机Kafka服务函数代码实现(上) (11:21).mp4 4-5 【梳理】状态检测函数的最佳实践总结.mp4 4-6 一键启动多主机Kafka服务函数代码实现(中) (10:55).mp4 4-7 一键启动多主机Kafka服务函数代码实现(下) (23:51).mp4 4-8 一键停止多主机Kafka服务函数代码实现 (10:07).mp4 4-9 脚本完善及测试 (10:45).mp4 4-10 改进多主机一键启停Kafka服务脚本为通用服务启停脚本 (14:59).mp4 4-11 改进后通用多主机一键启停服务脚本--zookeeper服务 (10:57).mp4 4-12 改进后通用多主机一键启停服务脚本--Nginx服务 (20:20).mp4 4-13 【任务】改写一个通用的针对你熟悉的应用服务的一键启停脚本.mp4 第5章 运维自动化工具ansible核心用法介绍 20 节 | 207分钟 5-1 章节导学 (08:47).mp4 5-2 ansible简要介绍 (07:13).mp4 5-3 ansible模块架构图 (06:18).mp4 5-4 ansible安装部署 (07:20).mp4 5-5 ansible配置账号密码管理远程主机 (10:20).mp4 5-6 ansible配置免密密钥管理远程主机 (07:59).mp4 5-7 ansible执行流程 (15:11).mp4 5-8 ansible目录结构及配置文件 (11:22).mp4 5-9 ansible读取配置文件顺序 (08:38).mp4 5- 10 ansible命令参数及基本语法 (19:50).mp4 5- 11 ansible核心模块之command (12:58).mp4 5- 12 ansible核心模块之shell (07:11).mp4 5- 13 ansible核心模块之copy (16:27).mp4 5- 14 解决ansible拷贝整个文件夹慢的问题 (08:51).mp4 5- 15 ansible核心模块之file (17:02).mp4 5-16 ansible核心模块之lineinfile(上) (17:20).mp4 5-17 ansible核心模块之lineinfile(下) (11:03).mp4 5-18 【梳理】lineinfile模块用法.mp4 5- 19 ansible核心模块之yum和service (12:59).mp4 5-20 【任务】lineinfile模块解决了那些痛点.mp4 第6章 分布式应用安装部署前常见环境检查项 20 节 | 296分钟 6-1 章节导学 (19:12).mp4 6-2 使用VMware Workstation安装CentOS 7(上) (09:34).mp4 6-3 使用VMware Workstation安装CentOS 7-下 (11:47).mp4 6-4 多主机环境检查脚本实现效果演示 (09:38).mp4 6-5 配置文件准备及脚本变量初始化 (15:20).mp4 6-6 集群多主机连通性检查函数代码实现 (16:00).mp4 6-7 集群多主机操作系统版本校验函数代码实现(上) (13:38).mp4 6-8 集群多主机操作系统版本校验函数代码实现(下) (20:26).mp4 6-9 集群多主机CPU规格校验函数代码实现 (15:35).mp4 6- 10 集群多主机内存规格校验代码实验 (18:40).mp4 6- 11 集群多主机内存规格校验代码实现 (16:53).mp4 6- 12 集群多主机数据磁盘数量校验代码实现(上) (18:52).mp4 6- 13 集群多主机数据磁盘数量校验代码实现(下) (13:41).mp4 6- 14 集群多主机OS根分区大小校验代码实现(上) (18:15).mp4 6- 15 集群多主机OS根分区大小校验代码实现(下) (09:33).mp4 6- 16 集群多主机校验时间同步代码实现 (18:58).mp4 6- 17 多主机环境检查脚本输出内容美化 (23:39).mp4 6- 18 多主机环境检查脚本执行用户交互性实现 (11:28).mp4 6- 19 脚本执行日志处理 (14:42).mp4 6-20 【任务】脚本做环境检查校验,你有怎样的理解?.mp4 第7章 利用ansible完成多主机应用安装部署 29 节 | 438分钟 7-1 章节导学 (04:27).mp4 7-2 打包我们的rpm包 (09:49).mp4 7-3 搭建基于HTTP服务的内网YUM源 (15:41).mp4 7-4 章节实现内容整体规划 (03:40).mp4 7-5 准备必备的基础rpm安装包 (15:59).mp4 7-6 代码实现搭建供管理节点本地使用的Local YUM源 (16:26).mp4 7-7 代码实现搭建基于HTTP服务的YUM源(上) (11:08).mp4 7-8 代码实现搭建基于HTTP服务的YUM源(下) (18:16).mp4 7-9 管理节点安装基础软件sshpass和ansible (05:31).mp4 7- 10 代码实现管理节点到所有节点的免密登录 (20:43).mp4 7- 11 代码配置ansible需要的inventory hosts文件 (16:24).mp4 7-12 利用ansible初始化集群主机(1) (14:57).mp4 7-13 利用ansible初始化集群主机(2) (14:50).mp4 7-14 利用ansible初始化集群主机(3) (12:10).mp4 7-15 利用ansible初始化集群主机(4) (12:20).mp4 7- 16 日志统一处理及脚本容错测试 (18:51).mp4 7- 17 目标主机磁盘格式化及挂载(上) (16:25).mp4 7- 18 目标主机磁盘格式化及挂载(中) (15:47).mp4 7- 19 目标主机磁盘格式化及挂载(下) (31:05).mp4 7- 20 MySQL主从复制手动配置(上) (16:52).mp4 7- 21 MySQL主从复制手动配置(下) (20:26).mp4 7- 22 脚本代码实现MySQL一主两从配置(上) (14:48).mp4 7- 23 脚本代码实现MySQL一主两从配置(中) (14:17).mp4 7- 24 脚本代码实现MySQL一主两从配置(下) (17:32).mp4 7-25 脚本调试(1) (11:33).mp4 7-26 脚本调试(2) (25:41).mp4 7-27 脚本调试(3) (22:24).mp4 7-28 脚本调试(4) (19:48).mp4 7-29 【任务】如何理解日志应当记录那些关键过程,谈谈你的理解?.mp4






