Kubernetes容器部署与应用实战(项目式微课版)

内容体系完整,涵盖Kubernetes容器技术核心知识点
分享 推荐 0 收藏 3 阅读 390
杨运强 , 吴进 黄鑫 (主编) 苏文豹 吕双十 高深 李夏天 (副主编) 978-7-115-66342-9

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

1. 突显课程育人,实现知识传授与价值引领的结合
随着云计算和容器技术的普及,Kubernetes已成为云计算运维岗位的必备技能。本书在编写过程中,注重将专业技术与职业素养相结合,融入“思辨与实践”的设计理念,旨在帮助读者在实际工作中有效应用所学知识。
2. 问题引领,体现“以学习者为中心”的教学理念
教材采用了“任务引领—知识讲解—实践应用”的教学模式,通过设计实际问题激发读者的兴趣,然后进行学习实践。这种方式不仅可以提高读者的学习热情,还能帮助读者掌握技术细节,在面对复杂问题时进行系统性思考和创新性尝试。
3. 资源丰富,为混合式教学实施提供便利
本书配套了丰富的数字资源,包括教学大纲、课程标准、授课计划、PPT课件、微课视频、图片、习题等,丰富的配套资源不仅可以帮助读者进行自我检测和实践,还为教师的教学提供了有力的支持。

内容摘要

随着云计算技术的飞速发展,企业对容器编排和管理的需求日益增长,Kubernetes作为领先的开源容器编排平台,已成为现代企业实现高效、可靠和可扩展应用部署的核心技术。 本书通过11个项目、28个任务实战的讲解,全面介绍Kubernetes的核心技术和应用实践,内容包括部署Kubernetes集群、使用集群核心资源部署服务、认证授权用户访问集群资源、调度Pod到指定节点、配置数据存储、使用Ingress发布服务、使用Helm包管理工具部署应用、使用Operator自定义控制器部署中间件、部署项目到Kubernetes集群、构建企业级DevOps云平台,以及使用Python管理Kubernetes集群。 本书配合详细的任务实战和微课视频,帮助读者深入理解和掌握Kubernetes的核心知识及实际应用。通过使用本书提供的实验环境和案例,读者能够系统地完成每个任务,提升实际工作中使用Kubernetes的能力。
本书可作为高职高专和应用型本科院校计算机网络技术、云计算技术、计算机科学与技术、软件工程等相关专业的核心课程教材,也可以作为对Kubernetes感兴趣的IT专业人员的自学参考书。

目录

项目1部署Kubernetes集群 1
任务1-1 安装和运维containerd容器引擎 2
1.1.1 任务描述 2
1.1.2 必备知识 2
1.1.3 使用VMware Workstation创建CentOS 8模板机 3
1.1.4 安装containerd容器引擎 9
1.1.5 使用nerdctl工具运维镜像和容器 11
任务1-2 部署基于containerd容器引擎的Kubernetes集群 13
1.2.1 任务描述 13
1.2.2 必备知识 14
1.2.3 部署Kubernetes集群基础环境 16
1.2.4 部署Kubernetes集群组件 18
任务1-3 部署多Master节点的Kubernetes高可用集群 22
1.3.1 任务描述 22
1.3.2 必备知识 22
1.3.3 扩展单Master节点为多Master节点 23
1.3.4 配置负载均衡 25
项目小结 27
项目练习与思考 27
项目2 使用集群核心资源部署服务 28
任务2-1 使用kubectl命令部署服务 29
2.1.1 任务描述 29
2.1.2 必备知识 29
2.1.3 使用Pod部署Nginx服务 33
2.1.4 使用Deployment控制器部署Nginx服务 36
2.1.5 使用Service服务发现访问后端Pod 39
任务2-2 使用YAML脚本部署服务 41
2.2.1 任务描述 41
2.2.2 必备知识 41
2.2.3 编写YAML脚本创建Pod 42
2.2.4 编写YAML脚本创建Deployment控制器 45
2.2.5 编写YAML脚本创建Service服务发现 47
2.2.6 利用探针检测Pod健康性 49
任务2-3 部署任务和守护型应用 51
2.3.1 任务描述 51
2.3.2 必备知识 51
2.3.3 使用Job控制器部署一次性任务 52
2.3.4 使用CronJob控制器部署周期性任务 54
2.3.5 使用DaemonSet控制器部署节点守护型应用 55
项目小结 57
项目练习与思考 58
项目3 认证授权用户访问集群资源 59
任务3-1 认证授权UserAccount系统账户 60
3.1.1 任务描述 60
3.1.2 必备知识 60
3.1.3 使用UserAccount系统账户登录集群 62
3.1.4 配置RBAC授权UserAccount系统账户权限 66
3.1.5 使用ResourceQuota实现用户资源配额管理 70
任务3-2 认证授权ServiceAccount服务账户 72
3.2.1 任务描述 72
3.2.2 必备知识 72
3.2.3 部署访问Dashboard图形化界面 73
3.2.4 配置RBAC授权ServiceAccount服务用户权限 74
项目小结 75
项目练习与思考 76
项目4 调度Pod到指定节点 77
任务4-1 使用nodeName和nodeSelector调度Pod 78
4.1.1 任务描述 78
4.1.2 必备知识 78
4.1.3 基于nodeName字段调度Pod 80
4.1.4 基于nodeSelector字段调度Pod 81
4.1.5 限制Pod使用节点硬件资源 82
任务4-2 使用污点和容忍度调度Pod 83
4.2.1 任务描述 84
4.2.2 必备知识 84
4.2.3 基于污点调度Pod 85
4.2.4 基于容忍度调度Pod 86
任务4-3 使用亲和性调度Pod 88
4.3.1 任务描述 89
4.3.2 必备知识 89
4.3.3 基于节点亲和性调度Pod 90
4.3.4 基于Pod亲和性调度Pod 93
项目小结 97
项目练习与思考 97
项目5 配置数据存储 98
任务5-1 使用本地和网络存储卷持久化数据 99
5.1.1 任务描述 99
5.1.2 必备知识 99
5.1.3 配置HostPath本地存储卷 100
5.1.4 配置NFS网络存储卷 104
5.1.5 使用NFS网络存储卷挂载外部数据到Pod容器中 106
任务5-2 使用PV持久卷持久化数据 108
5.2.1 任务描述 109
5.2.2 必备知识 109
5.2.3 创建PV持久卷 110
5.2.4 创建PVC持久卷声明 111
5.2.5 配置动态存储供应 113
任务5-3 使用ConfigMap和Secret保存配置信息 116
5.3.1 任务描述 116
5.3.2 必备知识 116
5.3.3 使用ConfigMap保存服务配置信息 118
5.3.4 使用Secret保存服务敏感数据 122
项目小结 124
项目练习与思考 124
项目6 使用Ingress发布服务 125
任务6-1 部署Ingress服务 126
6.1.1 任务描述 126
6.1.2 必备知识 126
6.1.3 外部用户通过域名访问内部服务 128
6.1.4 外部用户通过HTTPS访问内部服务 132
任务6-2 配置灰度发布 133
6.2.1 任务描述 133
6.2.2 必备知识 133
6.2.3 基于服务权重进行灰度发布 134
6.2.4 基于客户端请求进行灰度发布 139
项目小结 141
项目练习与思考 141
项目7 使用Helm包管理工具部署应用 142
任务7-1 基于Helm仓库部署Chart应用 143
7.1.1 任务描述 143
7.1.2 必备知识 143
7.1.3 安装Helm包管理工具 144
7.1.4 部署Chart应用 146
任务7-2 构建私有的Chart应用 149
7.2.1 任务描述 150
7.2.2 必备知识 150
7.2.3 构建不可配置的Chart应用 153
7.2.4 构建可配置的Chart应用 156
项目小结 161
项目练习与思考 161
项目8 使用Operator自定义控制器部署中间件 162
任务8-1 使用StatefulSet部署有状态应用 163
8.1.1 任务描述 163
8.1.2 必备知识 163
8.1.3 部署持久化存储 164
8.1.4 创建Headless Service 165
8.1.5 部署有状态的MySQL数据库 165
任务8-2 使用Operator部署数据库集群 168
8.2.1 任务描述 168
8.2.2 必备知识 168
8.2.3 部署有状态的MySQL主从数据库 171
8.2.4 部署有状态的Redis缓存数据库集群 176
项目小结 181
项目练习与思考 181
项目9 部署项目到Kubernetes集群 183
任务9-1 部署PHP Web项目到Kubernetes集群 184
9.1.1 任务描述 184
9.1.2 必备知识 184
9.1.3 构建PHP Web项目镜像 185
9.1.4 部署并测试PHP Web项目 186
任务9-2 部署Python Web项目到Kubernetes集群 192
9.2.1 任务描述 193
9.2.2 必备知识 193
9.2.3 构建Python Web项目镜像 194
9.2.4 部署并测试Python Web项目 195
任务9-3 部署Go项目到Kubernetes集群 200
9.3.1 任务描述 200
9.3.2 必备知识 200
9.3.3 部署Go后端服务 201
9.3.4 部署Vue前端应用 205
任务9-4 部署Spring Cloud微服务项目到Kubernetes集群 211
9.4.1 任务描述 211
9.4.2 必备知识 211
9.4.3 部署Java后端服务 213
9.4.4 部署前端应用 226
项目小结 230
项目练习与思考 231
项目10 构建企业级DevOps云平台 232
任务10-1 安装并部署DevOps工具 233
10.1.1 任务描述 233
10.1.2 必备知识 233
10.1.3 安装并配置Jenkins持续集成工具 236
10.1.4 安装并配置GitLab代码仓库 243
10.1.5 安装并配置Harbor镜像仓库 247
任务10-2 配置持续集成与持续交付 250
10.2.1 任务描述 251
10.2.2 必备知识 251
10.2.3 编写Pipeline基础脚本 252
10.2.4 发布应用到Kubernetes集群 255
项目小结 261
项目练习与思考 261
项目11 使用Python管理Kubernetes集群 262
任务11-1 使用Kubernetes库管理集群 263
11.1.1 任务描述 263
11.1.2 必备知识 263
11.1.3 监控Kubernetes集群状态 264
11.1.4 创建和管理集群资源 267
任务11-2 使用requests库管理集群 270
11.2.1 任务描述 270
11.2.2 必备知识 270
11.2.3 JSON数据序列化与反序列化 273
11.2.4 创建和管理Kubernetes集群资源 274
项目小结 279
项目练习与思考 280

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

杨运强,辽宁生态工程职业学院信息工程学院副教授,云计算技术应用专业带头人,长期致力于云计算技术的研究和教学工作,带领学生参加国家和省级职业技能大赛,获得省赛一等奖3项,国赛三等奖2项,2023年在辽宁省职业技能大赛教师组比赛中,获得第2名,主编参与网络互联技术、Linux项目管理与应用、Docker容器管理与应用等项目教材6部。主持参与省市级课题5项,获得省级教科研一等奖一项,市级二等奖一项。

相关图书

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