自动化运维与开发(Shell+Python+Ansible+CI/CD)(AI助学)(微课版)

工作手册式教材,基于真实项目的PBL教学模式
分享 推荐 0 收藏 10 阅读 597
张伟丽 姚骏屏 郭莹 (主编) 李晨光 王蒙 (副主编) 978-7-115-70140-4

关于本书的内容有任何问题,请联系 马小霞

1.典型场景驱动,直击核心岗位能力。依托6个真实企业级项目,覆盖Shell、Python、Ansible、CI/CD四大自动化运维方向,精准匹配云计算自动化运维岗位核心能力,助力学生打通全链路技术壁垒。
2.工作手册导向,复刻企业真实流程。采用工作手册式新形态编写,以任务化架构组织内容,全真复刻企业运维开发流程,引导学生在“做中学”,建立结构化工程思维,实现课堂与岗位无缝衔接。
3.三主编联合研创,构建四阶递进体系。由院校骨干教师、行业专家、超算中心工程师联合研编,搭建“基础—开发—工具—流程”四阶能力闭环,实现从脚本基础到架构能力的逐级培养。
4.信创AI融合创新,紧跟产业技术前沿。适配openEuler与CentOS双操作系统环境,融入AI运维优化实践,贴合信创产业发展趋势,补齐教学与产业应用的断层。
5.产教生态赋能,支撑立体化混合教学。依托超算中心真实素材,配套微课视频、项目源码及实验指导书、思维导图等数字资源,全面支撑线上线下混合式学习与理实一体化教学。

内容摘要

本书聚焦自动化运维与开发领域,以“项目引领、能力递进”为核心,构建涵盖Shell脚本、Python开发、Ansible工具、CI/CD四大技术方向的知识体系,通过6个真实企业级项目串联起从基础脚本编写到高阶持续集成的完整教学内容。
本书以GPMall网上商城云端自动化部署、基于Python脚本的轻量级服务集群状态监控系统、基于RESTful API的B/S架构服务器状态监控系统、OpenStack私有云平台自动化运维和开发、基于Ansible的WordPress个人博客一键部署、CI/CD自动化编译和部署GPMall商城等真实场景为载体,系统讲解Shell脚本语法与调试、Python自动化运维与开发、Ansible自动化工具应用以及Kubernetes+Harbor+Jenkins+GitLab CI/CD流水线搭建等核心技术,同时融入AI工具以优化实践及岗课赛证融通内容。本书涉及的项目均取材于企业真实案例,按照企业运维开发流程进行设计,每个任务均给出详细的思路解析与操作步骤,既便于读者快速掌握技术要点,又能引导其理解技术原理与业务场景的适配逻辑,实现举一反三。全书内容由浅入深、梯度清晰,理论讲解与实操指导紧密结合,完美适配高职“理实一体化”教学模式。
本书可作为应用型本科、职业院校计算机相关专业自动化运维与开发课程的核心教材,也适合广大计算机从业者和爱好者学习与参考,还适合具备Linux与云计算基础的学习者使用。

目录

目 录

第 一篇 Shell脚本运维部署篇

项目1
GPMall网上商城云端自动化
部署 1
【项目描述】 1
【项目拆分】 1
【职业能力及素养目标】 2
任务1 服务器系统配置初始化 2
1.1 任务分析 2
1.2 知识储备 2
1.2.1 Shell概述 2
1.2.2 初识Shell脚本 3
1.2.3 常用操作技巧和命令 4
1.2.4 Shell变量 7
1.2.5 算术运算 11
1.3 案例应用 一键编译安装Python
环境 12
1.4 任务实施 服务器环境初始化 14
1.5 任务小结 15
【任务习题】 16
任务2 基础应用和服务安装 17
2.1 任务分析 17
2.2 知识储备 17
2.2.1 条件表达式 17
2.2.2 if语句 21
2.2.3 case语句 23
2.3 案例应用 Java开发环境搭建 25
2.4 任务实施 基础服务安装 27
2.5 任务小结 28
【任务习题】 29
任务3 商城部署菜单设计与实现 31
3.1 任务分析 31
3.2 知识储备 31
3.2.1 for、while和until循环 31
3.2.2 break和continue循环控制 35
3.2.3 select语句 37
3.3 案例应用 批量添加Linux用户 38
3.4 任务实施 部署菜单设计与实现 40
3.5 任务小结 42
【任务习题】 42
任务4 应用服务配置文件修改 44
4.1 任务分析 44
4.2 知识储备 44
4.2.1 正则表达式 44
4.2.2 grep、sed和awk命令 46
4.3 案例应用 批量修改Redis日志
级别 48
4.4 任务实施 应用配置文件修改 50
4.5 任务小结 51
【任务习题】 51
任务5 商城服务启动和运行 53
5.1 任务分析 53
5.2 知识储备 53
5.2.1 函数设计和使用 53
5.2.2 脚本调试 56
5.3 案例应用 批量检测主机存活
状态 57
5.4 任务实施 商城服务启动运行 58
5.5 任务小结 59
【任务习题】 60
AI助力脚本优化升级 61

第二篇 Python语言开发篇


项目2
基于Python脚本的轻量级
服务集群状态监控系统 62
【项目描述】 62
【项目拆分】 62
【职业能力及素养目标】 63
任务1 psutil实现系统状态信息采集 63
1.1 任务分析 63
1.2 知识储备 63
1.2.1 系统资源指标体系 63
1.2.2 psutil模块介绍 65
1.2.3 psutil核心资源监控方法 66
1.3 任务实施 实时数据采集器的
设计与实现 67
1.4 任务小结 70
【任务习题】 71
任务2 logging实现日志管理 72
2.1 任务分析 72
2.2 知识储备 72
2.2.1 logging模块介绍和基础用法 72
2.2.2 logging模块核心组件 73
2.3 任务实施 控制台和文件日志
双输出配置 74
2.4 任务小结 76
【任务习题】 77
任务3 smtplib和email实现异常
邮件报警 79
3.1 任务分析 79
3.2 知识储备 79
3.2.1 smtplib和email模块介绍 79
3.2.2 smtplib实现邮件发送 79
3.2.3 email构造邮件内容 81
3.3 任务实施 实现带附件的告警
邮件发送 83
3.4 任务小结 85
【任务习题】 86
任务4 paramiko实现脚本远程自动化
部署 88
4.1 任务分析 88
4.2 知识储备 88
4.2.1 paramiko模块介绍 88
4.2.2 SSHClient远程连接与命令
执行 88
4.2.3 SFTPClient实现远程文件
操作 89
4.3 任务实施 自动推送和执行
脚本 90
4.4 任务小结 94
【任务习题】 94
AI助力脚本优化升级 95

项目3
基于RESTful API的B/S架构
服务器状态监控系统 97
【项目描述】 97
【项目拆分】 97
【职业能力及素养目标】 98
任务1 使用Flask搭建服务器 98
1.1 任务分析 98
1.2 知识储备 98
1.2.1 RESTful API原理 98
1.2.2 Flask模块介绍和使用 99
1.3 任务实施 Flask实现系统状态
数据采集与响应
服务 101
1.4 任务小结 103
【任务习题】 103
任务2 使用requests开发客户端 105
2.1 任务分析 105
2.2 知识储备 105
2.2.1 requests模块介绍 105
2.2.2 requests库的核心方法 105
2.2.3 requests库的Response
类型 108
2.3 任务实施 基于requests的
服务器状态监控
系统客户端 109
2.4 任务小结 111
【任务习题】 111
任务3 CSV数据存储实现 113
3.1 任务分析 113
3.2 知识储备 113
3.2.1 JSON格式和CSV格式
介绍 113
3.2.2 JSON数据保存至CSV
文件 114
3.3 任务实施 CSV数据持久化
存储 116
3.4 任务小结 117
【任务习题】 118
任务4 pymysql实现数据持久化
存储 120
4.1 任务分析 120
4.2 知识储备 120
4.2.1 pymysql模块介绍 120
4.2.2 pymysql核心类和方法 121
4.2.3 整体数据操作流程 123
4.3 任务实施 MySQL结构化数据
存储 123
4.4 任务小结 125
【任务习题】 126
AI助力脚本优化升级 127

项目4
OpenStack私有云平台
自动化运维和开发 129
【项目描述】 129
【项目拆分】 129
【职业能力及素养目标】 129
任务1 基于RESTful API方式实现
用户管理 130
1.1 任务分析 130
1.2 知识储备 130
1.2.1 OpenStack API请求方式 130
1.2.2 OpenStack API手册简介 131
1.2.3 OpenStack Identity API v3
介绍 134
1.2.4 OpenStack API Token授权
认证 136
1.3 任务实施 基于RESTful API
的用户管理功能
开发 137
1.4 任务小结 139
【任务习题】 140
任务2 基于OpenStack SDK方式
实现云主机管理 142
2.1 任务分析 142
2.2 知识储备 142
2.2.1 OpenStack SDK介绍 142
2.2.2 OpenStack SDK核心类 143
2.2.3 OpenStack SDK连接管理 143
2.3 任务实施 基于OpenStack
SDK的云主机
管理功能开发 144
2.4 任务小结 147
【任务习题】 148
AI助力脚本优化升级 148

第三篇 Ansible自动化运维工具篇

项目5
基于Ansible的WordPress
个人博客一键部署 150
【项目描述】 150
【项目拆分】 150
【职业能力及素养目标】 151
任务1 Ansible自动化运维环境
搭建 151
1.1 任务分析 151
1.2 知识储备 151
1.2.1 Ansible工具介绍及安装 151
1.2.2 配置文件和主机清单 153
1.3 任务实施 构建多节点Ansible
控制环境 154
1.4 任务小结 156
【任务习题】 157
任务2 Ad-hoc命令批量部署应用 158
2.1 任务分析 158
2.2 知识储备 158
2.2.1 Ad-hoc命令的工作原理 158
2.2.2 Ansible的常用模块 159
2.3 任务实施 基于Ad-hoc命令
部署MariaDB
数据库 163
2.4 任务小结 164
【任务习题】 165






任务3 基于简单Playbook一键部署
单节点WordPress 167
3.1 任务分析 167
3.2 知识储备 167
3.2.1 Playbook介绍 167
3.2.2 Playbook的语法规则和核心
要素 168
3.2.3 Playbook的执行与验证 170
3.3 案例应用 使用Playbook完成
多主机Nginx安装
部署 171
3.4 任务实施 单节点WordPress
个人博客部署 172
3.5 任务小结 176
【任务习题】 177
任务4 基于Role的Playbook多节点
部署WordPress个人
博客 178
4.1 任务分析 178
4.2 知识储备 178
4.2.1 Role管理介绍 178
4.2.2 创建和编写角色 180
4.3 任务实施 基于Role的多节点
WordPress个人
博客部署 182
4.4 任务小结 186
【任务习题】 187
AI助力Playbook剧本优化升级 188




第四篇 CI/CD篇

项目6
CI/CD自动化编译和部署
GPMall商城 189
【项目描述】 189
【项目拆分】 189
【职业能力及素养目标】 190
任务1 部署Kubernetes集群和
Harbor 190
1.1 任务分析 190
1.2 知识储备 190
1.2.1 什么是Kubernetes 190
1.2.2 什么是Harbor 191
1.3 任务实施 192
1.3.1 安装操作系统 192
1.3.2 部署Kubernetes集群 192
1.3.3 部署Harbor 198
1.4 任务小结 202
【任务习题】 202
任务2 安装Jenkins 203
2.1 任务分析 203
2.2 知识储备 203
2.2.1 Jenkins概述 203
2.2.2 docker-compose概述 203
2.2.3 Docker in Docker概述 204
2.3 任务实施 204
2.3.1 加载镜像 204
2.3.2 准备Jenkins的docker-
compose.yaml 205
2.3.3 启动和初始化Jenkins 206
2.4 任务小结 209
【任务习题】 209
任务3 安装GitLab 210
3.1 任务分析 210
3.2 知识储备 210
3.2.1 什么是Git 210
3.2.2 GitLab介绍 210
3.3 任务实施 211
3.3.1 编写GitLab的docker-
compose.yaml 211
3.3.2 启动并登录GitLab,创建
新项目 212
3.3.3 安装Git并上传GPMall
源码 214
3.4 任务小结 215
【任务习题】 215
任务4 配置GitLab和Jenkins 217
4.1 任务分析 217
4.2 知识储备 217
Maven介绍 217
4.3 任务实施 217
4.3.1 配置GitLab和Jenkins 217
4.3.2 安装Maven 220
4.4 任务小结 221
【任务习题】 221
任务5 配置和触发CI/CD 223
5.1 任务分析 223
5.2 知识储备 223
5.2.1 什么是Jenkins流水线 223
5.2.2 Jenkins脚本式流水线的组成及
作用 224
5.3 任务实施 226
5.3.1 在Jenkins中配置流水线
任务 226
5.3.2 进行CI/CD触发更新前的准备
工作 236
5.3.3 触发构建,实现项目的持续
集成 238
5.4 任务小结 239

【任务习题】 239
AI助力生成Jenkins流水线脚本 240
参考文献 241



读者评论

赶紧抢沙发哦!

我要评论

作者介绍

张伟丽,副教授,“双师型”教师,具有9年企业软件研发和管理经历,现任山东电子职业技术学院云计算技术应用专业专任教师,讲授课程包括Python程序设计,云计算架构及自动化运维与开发等。参与国家职业教育云计算技术与应用专业教学资源库子项目《云计算基础架构平台应用》,2023年获得山东省职业院校教学能力大赛二等奖,2024年获山东省第十一届青年教师教学能力比赛二等奖。

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部