这门课解决什么问题

很多运维或转行同学,写 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