Linux自动化运维(Shell与Ansible)(微课版)

本书QQ群:770292430;shell网络编程
分享 推荐 0 收藏 20 阅读 1.7K
杨寅冬 (主编) 张友海 王飞 朱晓彦 顾伟 (副主编) 978-7-115-63852-6

关于本书的内容有任何问题,请联系 郭雯

(1) 在编写过程中引入了红帽认证工程师(Red Hat Centified Engineer,RHCE)和华为认证openEuler工程师(HCIA-openEuler)等认证考试的相关内容,对接职业标准和岗位需求,以企业“真实项目”为素材进行项目设计和实施,将教学内容与职业资格认证和1+X 证书制度相融合,书证融通、课证融通。
(2)本书以项目为导向,以“培养能力、突出实用、内容新颖、系统完整”为指导思想,讲解在Linux操作系统自动化运维中需要掌握的知识和技能,重点培养读者的动手能力和应用能力。
(3)本书针对高等职业院校和应用型本科院校学生的特点,采用“理实结合”“任务驱动”的双元模式,符合职业教育和“三教”改革的要求,融入课程思政元素,设计“网络经纬”阅读模块,弘扬专业精神、职业精神和工匠精神。

内容摘要

本书以开源Linux 操作系统为操作平台,通过项目驱动的方式对Linux Shell 编程和Ansible 自动化工具的基本使用方法进行了讲解,重点培养读者的实践动手能力和应用能力。
本书共12 个项目,包括初识Shell 脚本、Shell 条件控制、Shell 循环控制、Shell 数组与函数、sed 流编辑器与awk 文本处理工具、Ansible 自动化概述、Ansible Playbook 基本语法、变量与事实、自动化任务控制、Jinja2 模板与插件、角色和集合,以及Ansible 自动化管理。本书内容丰富,由浅入深,强调对基础技能的培养,涉及项目取材于企业应用实例,适用于理论与实践一体化教学。通过学习本书的内容,读者应该能够掌握Linux Shell 编程和Ansible 自动化工具的基本使用方法,能够熟练编写Shell 脚本实现自动化任务,并能够运用Ansible 管理和部署复杂的系统架构。
本书可以作为高校计算机相关专业的教材,也可以作为Linux Shell 编程与Ansible 自动化运维的培训教材和Linux 技术爱好者的参考书,还可以作为信息通信技术、信息技术应用创新、开源Linux 相关课程的教材。

目录

项目1 初识Shell 脚本..................1
学习目标 ..................................... 1
1.1 项目描述.............................. 1
1.2 知识准备.............................. 2
1.2.1 Linux 操作系统简介................... 2
1.2.2 创建和执行Shell 脚本................ 5
1.2.3 控制命令的输入和输出信息......... 7
1.2.4 数据输入输出........................... 10
1.2.5 Shell 变量............................... 16
1.2.6 转义符..................................... 21
1.2.7 算术运算................................. 23
1.3 项目实训............................ 25
1.4 项目实施............................ 25
1.4.1 输入输出重定向....................... 25
1.4.2 数据输入输出操作.................... 27
1.4.3 Shell 变量操作......................... 29
1.4.4 算术运算符操作....................... 31
1.4.5 设置环境变量........................... 34
项目练习题 ................................ 35
项目2 Shell 条件控制................37
学习目标 ................................... 37
2.1 项目描述............................ 37
2.2 知识准备............................ 38
2.2.1 条件表达式...............................38
2.2.2 if 语句......................................39
2.2.3 case 语句................................40
2.3 项目实训............................ 42
2.4 项目实施............................ 42
任务2.4.1 编写条件语句脚本.............42
任务2.4.2 编写if 语句脚本.................44
任务2.4.3 编写case 语句脚本...........45
项目练习题 ................................ 47
项目3 Shell 循环控制................49
学习目标 ................................... 49
3.1 项目描述............................ 49
3.2 知识准备............................ 50
3.2.1 for 语句....................................50
3.2.2 while、until 和select 语句........50
3.2.3 break、continue 和exit语句.........................................52
3.3 项目实训............................ 53
3.4 项目实施............................ 54
任务3.4.1 编写for 语句脚本..............54
任务3.4.2 编写while 语句脚本..........55
项目练习题 ................................ 57
项目4 Shell 数组与函数..............59
学习目标 ................................... 59
4.1 项目描述............................ 59
4.2 知识准备............................ 60
4.2.1 创建和使用数组....................... 60
4.2.2 创建和使用函数....................... 63
4.3 项目实训............................ 68
4.4 项目实施............................ 68
任务4.4.1 编写Shell 数组脚本.......... 68
任务4.4.2 编写Shell 函数脚本.......... 70
项目练习题 ................................ 72
项目5 sed 流编辑器与awk 文本处理工具..............................74
学习目标 ................................... 74
5.1 项目描述............................ 74
5.2 知识准备............................ 75
5.2.1 正则表达式.............................. 75
5.2.2 sed 流编辑器........................... 77
5.2.3 awk 文本处理工具................... 79
5.3 项目实训............................ 84
5.4 项目实施............................ 84
任务5.4.1 正则表达式提取文本......... 84
任务5.4.2 sed 案例.......................... 85
任务5.4.3 awk 案例......................... 86
项目练习题 ................................ 88
项目6 Ansible 自动化概述.......... 91
学习目标 ....................................91
6.1 项目描述.............................91
6.2 知识准备............................ 92
6.2.1 IT 基础设施自动化....................92
6.2.2 Ansible 简介............................93
6.2.3 Ansible 安装方式与目录结构.....94
6.2.4 清单文件..................................96
6.2.5 Ansible 配置文件及ansible.cfg主要参数................................100
6.2.6 配置连接和权限提升...............101
6.3 项目实训...........................104
6.4 项目实施...........................105
任务6.4.1 在CentOS 9 上安装Ansible..........................105
任务6.4.2 使用pip 包管理器安装Ansible..........................106
任务6.4.3 构建清单文件..................107
任务6.4.4 构建配置文件..................109
项目练习题 ............................... 111
项目7 Ansible Playbook 基本语法............................ 113
学习目标 .................................. 113
7.1 项目描述........................... 113
7.2 知识准备........................... 114
7.2.1 Ad Hoc 命令......................... 114
7.2.2 YAML 基本格式..................... 119
7.2.3 JSON 基本格式..................... 121
7.2.4 Playbook 基本格式................ 122
7.3 项目实训...........................126
7.4 项目实施...........................127
任务7.4.1 使用Ad Hoc 命令执行临时任务.............................. 127
任务7.4.2 编写和执行Playbook ..... 128
任务7.4.3 实施多个自动化任务....... 131
项目练习题 ...............................135
项目8 变量与事实.................... 137
学习目标 ..................................137
8.1 项目描述...........................137
8.2 知识准备...........................138
8.2.1 变量概述............................... 138
8.2.2 主机和主机组变量.................. 141
8.2.3 注册变量............................... 143
8.2.4 事实变量............................... 144
8.2.5 特殊变量............................... 146
8.3 项目实训...........................149
8.4 项目实施...........................150
任务8.4.1 在Playbook 中使用变量.............................. 150
任务8.4.2 在Playbook 中管理变量和事实.............................. 153
项目练习题 ...............................157
项目9 自动化任务控制.............. 159
学习目标 ..................................159
9.1 项目描述...........................159
9.2 知识准备...........................160
9.2.1 循环语句................................160
9.2.2 条件语句................................162
9.2.3 实施处理程序.........................166
9.2.4 任务失败和异常处理...............168
9.2.5 使用块和标签分组任务............171
9.3 项目实训...........................173
9.4 项目实施...........................173
任务9.4.1 实施循环和条件控制........173
任务9.4.2 实施任务控制..................176
项目练习题 ...............................180
项目10 Jinja2 模板与插件.......... 182
学习目标 ..................................182
10.1 项目描述.........................182
10.2 知识准备.........................183
10.2.1 Jinja2 模板基本概念.............183
10.2.2 过滤器简介...........................185
10.2.3 插件.....................................190
10.3 项目实训.........................193
10.4 项目实训.........................193
任务10.4.1 使用Jinja2 模板生成系统事实信息.......................193
任务10.4.2 使用Jinja2 模板自定义配置文件............................ 195
任务10.4.3 使用Jinja2 模板部署代理服务............................ 198
项目练习题 ...............................202
项目11 角色和集合.................... 205
学习目标 ................................. 205
11.1 项目描述........................ 205
11.2 知识准备........................ 206
11.2.1 大项目管理方式................... 206
11.2.2 角色简介............................. 211
11.2.3 创建和使用角色................... 214
11.2.4 Ansible Galaxy 部署角色..... 217
11.2.5 集合简介............................. 221
11.3 项目实训.........................226
11.4 项目实施.........................227
任务11.4.1 导入和包含任务............ 227
任务11.4.2 使用角色部署Web 服务和代理服务...................... 229
任务11.4.3 使用集合执行自动化任务.............................235
项目练习题 ...............................239
项目12 Ansible 自动化管理........ 241
学习目标 ..................................241
12.1 项目描述.........................241
12.2 知识准备.........................242
12.2.1 常用的自动化管理模块..........242
12.2.2 网络配置管理.......................253
12.2.3 网络设备自动化管理模块.......255
12.2.4 Docker 容器自动化管理模块....................................256
12.3 项目实训.........................258
12.4 项目实施.........................259
任务12.4.1 部署yum 仓库安装软件.............................259
任务12.4.2 逻辑卷存储管理.............261
项目练习题 ...............................264

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

杨寅冬,安徽邮电职业技术学院计算机与网络学院教师,高级实验师职称,红帽高级架构师,主要专业领域集中于 Linux 企业服务、OpenStack 云平台、Ansible 自动化运维、容器和Kubernetes等方向,在高校从事Linux操作系统和云计算方向教学工作,担任 Linux系统与服务管理、Linux自动化运维、容器技术、OpenStack和Kubernets平台等课程的教学工作,主编高校教材《Linux系统管理基础教程》,连续多年获得红帽挑战赛优秀指导教师、华为ICT大赛优秀指导教师荣誉。

相关图书

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