网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 KUBERNETES集群实战(微课版)
分类 教育考试-大中专教材-大学教材
作者 王雅静,成安霞
出版社 人民邮电出版社
下载
简介
编辑推荐
全面系统讲解Kubernetes的基础知识和运维管理方法
每个知识点都配备操作示范,方便上手
结构清晰,循序渐进,言简意赅、案例选取具有实用性和针对性
选用Kubernetes 1.25.4
内容推荐
本书全面、系统地讲解Kubernetes的基础知识和运维管理方法。本书共9个项目,包括从Docker转向Kubernetes、部署Kubernetes集群、熟悉Kubernetes基本操作、部署和运行应用程序、发布应用程序、管理存储和配置信息、Kubernetes调度、高效管理应用程序的部署,以及持续集成和持续部署。
本书结构清晰,在内容编写方面注意难点分散、循序渐进,在文字叙述方面注意言简意赅、突出重点,在实例选取方面注意实用性和针对性。为强化实践性和可操作性,本书为每个知识点都配备了相应的操作示范,便于读者快速上手。
本书可作为院校计算机相关专业、相关课程的教材,也可作为软件开发人员、IT实施和运维工程师学习Kubernetes云原生技术的参考,还可作为相关课程的培训教材。
目录
项目1  从Docker转向Kubernetes  1
【课堂学习目标】  2
知识目标  2
技能目标  2
素养目标  2
任务1.1  认识与安装Docker  2
任务要求  2
相关知识  2
1.1.1  应用程序部署方式的演变  2
1.1.2  什么是Docker  4
1.1.3  Docker架构  4
1.1.4  Docker版本  5
任务实现  6
任务1.1.1  安装Docker Engine  6
任务1.1.2  了解docker命令的基本用法  8
任务1.1.3  运行一个容器  10
任务1.2  掌握Docker的基本操作方法  10
任务要求  10
相关知识  11
1.2.1  Docker镜像基础知识  11
1.2.2  Docker容器基础知识  13
1.2.3  Docker注册中心与仓库  15
任务实现  17
任务1.2.1  镜像和容器的基本操作  17
任务1.2.2  自建Docker注册中心  19
任务1.3  构建镜像并将应用程序容器化  20
任务要求  20
相关知识  21
1.3.1  镜像的构建  21
1.3.2  应用程序镜像的内容  23
1.3.3  应用程序容器化的基本步骤  23
任务实现  将应用程序容器化  24
任务1.4  转向Kubernetes  28
任务要求  28
相关知识  28
1.4.1  什么是Kubernetes  28
1.4.2  为什么要使用Kubernetes  29
1.4.3  Kubernetes的主要特性  30
1.4.4  Kubernetes与云原生  30
任务实现  31
任务1.4.1  了解Kubernetes的应用  31
任务1.4.2  了解Kubernetes在国内企业中的实际应用  32
项目小结  33
课后练习  34
项目实训  35
实训1  安装Docker Engine并进行镜像和容器的基本操作  35
实训2  对Node.js Web应用程序进行容器化  35
项目2  部署Kubernetes集群  36
【课堂学习目标】  36
知识目标  36
技能目标  36
素养目标  36
任务2.1  创建Kubernetes集群  36
任务要求  36
相关知识  37
2.1.1  Kubernetes集群的组件  37
2.1.2  控制平面组件  38
2.1.3  工作节点组件  39
2.1.4  功能插件  40
2.1.5  Kubernetes部署方式  40
2.1.6  kubeadm工具  41
2.1.7  高可用Kubernetes集群  41
任务实现  42
任务2.1.1  规划Kubernetes集群  42
任务2.1.2  准备Kubernetes集群安装环境  43
任务2.1.3  部署Kubernetes集群节点  47
任务2.1.4  安装Pod网络插件  50
任务2.1.5  测试Kubernetes集群  52
任务2.1.6  使用containerd命令行工具crictl  52
任务2.2  部署和使用Kubernetes Dashboard  53
任务要求  53
相关知识  53
2.2.1  Kubernetes集群资源管理方式  53
2.2.2  Kubernetes Dashboard的功能  54
任务实现  54
任务2.2.1  安装Kubernetes Dashboard  54
任务2.2.2  使用Kubernetes Dashboard  56
项目小结  59
课后练习  60
项目实训  61
实训1  使用kubeadm工具部署三节点Kubernetes集群  61
实训2  安装和使用Kubernetes Dashboard  61
项目3  熟悉Kubernetes基本操作  62
【课堂学习目标】  62
知识目标  62
技能目标  62
素养目标  62
任务3.1  理解和使用Kubernetes对象  62
任务要求  62
相关知识  63
3.1.1  什么是Kubernetes对象  63
3.1.2  Kubernetes对象的规约和状态  64
3.1.3  描述Kubernetes对象  64
3.1.4  Kubernetes对象的管理方法  65
3.1.5  对象的名称和UID  66
3.1.6  标签和注解  67
3.1.7  名称空间  68
任务实现  69
任务3.1.1  创建Kubernetes对象  69
任务3.1.2  操作对象的标签  71
任务3.1.3  操作名称空间  72
任务3.2  使用kubectl命令  73
任务要求  73
相关知识  73
3.2.1  kubectl命令的基本用法  73
3.2.2  kubectl常用子命令  74
3.2.3  kubectl命令支持的资源类型  75
3.2.4  kubectl命令支持的输出格式  76
任务实现  76
任务3.2.1  熟悉kubectl命令的用法  76
任务3.2.2  使用kubectl命令辅助生成YAML配置文件  77
任务3.3  创建和管理Pod  79
任务要求  79
相关知识  79
3.3.1  什么是Pod  79
3.3.2  Pod与容器  79
3.3.3  Pod的定义  81
3.3.4  Pod的生命周期  82
3.3.5  Pod的健康检查机制  83
任务实现  84
任务3.3.1  创建多容器Pod  84
任务3.3.2  为Pod及其容器设置资源配额  86
任务3.3.3  实现Pod容器的健康检查  88
项目小结  89
课后练习  90
项目实训  91
实训1  操作指定名称空间中对象的标签  91
实训2  创建一个多容器Pod并进行测试  91
项目4  部署和运行应用程序  92
【课堂学习目标】  92
知识目标  92
技能目标  92
素养目标  92
任务4.1  使用Deployment运行无状态应用程序  93
任务要求  93
相关知识  93
4.1.1  工作负载资源与控制器  93
4.1.2  ReplicationController、ReplicaSet和Deployment  94
4.1.3  Deployment的应用场景  94
4.1.4  Deployment的基本用法  95
任务实现  95
任务4.1.1  创建Deployment  95
任务4.1.2  测试Deployment的自动修复功能  99
任务4.1.3  更新Deployment  99
任务4.1.4  回滚Deployment  101
任务4.1.5  暂停、恢复Deployment的更新  103
任务4.1.6  扩缩容Deployment  104
任务4.2  使用DaemonSet部署集群守护进程集  105
任务要求  105
相关知识  105
4.2.1  什么是DaemonSet  105
4.2.2  DaemonSet的应用场景  105
任务实现  106
任务4.2.1  使用DaemonSet部署日志收集守护进程集  106
任务4.2.2  管理DaemonSet部署的集群守护进程集  109
任务4.3  运行一次性任务与定时任务  110
任务要求  110
相关知识  111
4.3.1  Job与一次性任务  111
4.3.2  CronJob与定时任务  111
任务实现  112
任务4.3.1  使用Job运行一次性任务  112
任务4.3.2  使用CronJob运行定时任务  114
项目小结  115
课后练习  116
项目实训  116
实训1  使用Deployment运行Apache服务  116
实训2  使用DaemonSet在所有工作节点上部署nginx  117
项目5  发布应用程序  118
【课堂学习目标】  118
知识目标  118
技能目标  118
素养目标  119
任务5.1  使用Service发布应用程序  119
任务要求  119
相关知识  119
5.1.1  什么是Service  119
5.1.2  通过Endpoints理解Service的工作机制  120
5.1.3  Service的负载均衡机制  123
5.1.4  Service的服务发现机制  125
5.1.5  定义Service  126
5.1.6  Service类型  126
5.1.7  无头Service  128
5.1.8  多端口Service  129
任务实现  129
任务5.1.1  验证Kubernetes的服务发现机制  129
任务5.1.2  使用Service对外发布集群中的应用程序  130
任务5.1.3  使用Service发布前后端应用程序  132
任务5.2  使用Ingress发布应用程序  136
任务要求  136
相关知识  137
5.2.1  什么是Ingress  137
5.2.2  定义Ingress  138
5.2.3  什么是Ingress控制器  138
任务实现  139
任务5.2.1  部署nginx Ingress控制器  139
任务5.2.2  使用Ingress对外发布应用程序  142
任务5.3  实现灰度发布与蓝绿发布  146
任务要求  146
相关知识  146
5.3.1  什么是灰度发布  146
5.3.2  什么是蓝绿发布  147
5.3.3  Kubernetes的灰度发布和蓝绿发布解决方案  148
5.3.4  nginx Ingress的灰度发布和蓝绿发布方法  148
任务实现  149
任务5.3.1  使用nginx Ingress实现灰度发布  149
任务5.3.2  使用nginx Ingress实现蓝绿发布  154
项目小结  155
课后练习  156
项目实训  157
实训1  使用Service发布Apache服务并考察Service工作机制  157
实训2  部署nginx Ingress控制器并使用Ingress发布Apache服务  157
项目6  管理存储和配置信息  158
【课堂学习目标】  158
知识目标  158
技能目标  158
素养目标  159
任务6.1  配置和使用基本存储  159
任务要求  159
相关知识  159
6.1.1  什么是卷  159
6.1.2  卷的类型  159
任务实现  160
任务6.1.1  使用EmptyDir卷存储数据  160
任务6.1.2  使用HostPath卷挂载宿主机文件  161
任务6.1.3  使用NFS卷挂载NFS共享目录  163
任务6.2  配置和使用持久卷  165
任务要求  165
相关知识  165
6.2.1  PV与PVC的持久化存储机制  165
6.2.2  PV的定义  166
6.2.3  PVC的定义  168
6.2.4  PV和PVC的生命周期  169
6.2.5  StorageClass  169
任务实现  172
任务6.2.1  创建基于NFS的PV  172
任务6.2.2  基于PVC使用PV  173
任务6.2.3  基于StorageClass实现动态卷制备  175
任务6.3  管理配置信息和敏感信息  180
任务要求  180
相关知识  180
6.3.1  什么是ConfigMap  180
6.3.2  创建ConfigMap  180
6.3.3  使用ConfigMap  182
6.3.4  什么是Secret  183
6.3.5  创建Secret  184
6.3.6  使用Secret  185
任务实现  186
任务6.3.1  使用ConfigMap为Tomcat提供配置文件  186
任务6.3.2  使用Secret为MongoDB提供配置文件  188
项目小结  189
课后练习  190
项目实训  191
实训1  通过PVC使用基于NFS的PV  191
实训2  使用默认StorageClass基于NFS实现动态卷制备  191
项目7  Kubernetes调度  192
【课堂学习目标】  192
知识目标  192
技能目标  192
素养目标  192
任务7.1  使用StatefulSet运行有状态应用程序  193
任务要求  193
相关知识  193
7.1.1  什么是StatefulSet  193
7.1.2  StatefulSet的特点  194
7.1.3  StatefulSet的组件  194
任务实现  196
任务7.1.1  使用StatefulSet部署MySQL主从集群  196
任务7.1.2  扩缩容StatefulSet  203
任务7.2  实现水平自动扩缩容  204
任务要求  204
相关知识  204
7.2.1  什么是HPA  204
7.2.2  如何定义HPA  205
7.2.3  什么是Metrics Server  206
任务实现  207
任务7.2.1  部署Metrics Server  207
任务7.2.2  通过HPA实现nginx的自动扩缩容  209
任务7.3  管理Pod的调度  212
任务要求  212
相关知识  213
7.3.1  Kubernetes调度概述  213
7.3.2  Pod的定向调度  213
7.3.3  亲和性与反亲和性调度  214
7.3.4  污点与容忍度  217
任务实现  219
任务7.3.1  将应用程序部署在特定的节点上  219
任务7.3.2  将同一应用程序部署到不同的节点上  220
任务7.3.3  将关联的应用程序部署到同一节点上  221
任务7.3.4  示范污点和容忍度的使用  223
项目小结  224
课后练习  225
项目实训  226
实训1  使用StatefulSet运行nginx并进行扩缩容  226
实训2  演示通过污点和容忍度设置驱逐Pod  227
项目8  高效管理应用程序的部署  228
【课堂学习目标】  228
知识目标  228
技能目标  228
素养目标  228
任务8.1  使用Helm简化应用程序的部署和管理  229
任务要求  229
相关知识  229
8.1.1  什么是Helm  229
8.1.2  Helm是如何工作的  229
8.1.3  Chart结构  230
8.1.4  Helm的基本用法  231
任务实现  232
任务8.1.1  安装和配置Helm  232
任务8.1.2  熟悉Helm的基本操作  233
任务8.1.3  使用Helm在Kubernetes中部署Kafka  238
任务8.2  使用Kustomize定制应用程序的部署配置  241
任务要求  241
相关知识  242
8.2.1  Kustomize的特性和应用场景  242
8.2.2  Kustomization文件  242
8.2.3  Kustomize的基本用法  244
任务实现  245
任务8.2.1  使用Kustomize管理Secret  245
任务8.2.2  为Kubernetes对象设置贯穿性字段  246
任务8.2.3  使用Kustomize组合Kubernetes资源  248
任务8.2.4  使用Kustomize定制Kubernetes资源  249
任务8.2.5  使用Kustomize管理不同环境的应用程序配置  251
项目小结  253
课后练习  254
项目实训  254
实训1  使用Helm在Kubernetes中部署MongoDB  254
实训2  使用Kustomize管理不同环境的应用程序配置  255
项目9  持续集成和持续部署  256
【课堂学习目标】  256
知识目标  256
技能目标  256
素养目标  257
任务9.1  在Kubernetes中部署开发的应用程序  257
任务要求  257
相关知识  257
9.1.1  将应用程序部署到Kubernetes的基本流程  257
9.1.2  开源的企业级Docker Registry项目Harbor  258
任务实现  258
任务9.1.1  基于Harbor自建企业级Docker注册中心  258
任务9.1.2  在Kubernetes集群中使用来自Harbor的镜像  262
任务9.1.3  将开发的应用程序部署到Kubernetes  264
任务9.2  搭建云原生应用程序的CI/CD平台  268
任务要求  268
相关知识  269
9.2.1  DevOps的概念  269
9.2.2  CI/CD的概念  269
9.2.3  CI/CD的主要工具  270
9.2.4  CI/CD平台的组建思路  270
任务实现  271
任务9.2.1  规划CI/CD平台  271
任务9.2.2  部署GitLab服务器  271
任务9.2.3  部署Jenkins服务器  275
任务9.2.4  通过Jenkins集中管理凭据  279
任务9.3  使用Jenkins的Maven项目实施CI/CD  281
任务要求  281
相关知识  281
9.3.1  Jenkins的项目类型  281
9.3.2  Maven项目的CI/CD流程  282
任务实现  282
任务9.3.1  准备Maven项目的实施环境  282
任务9.3.2  新建Maven项目实施CI/CD  284
任务9.3.3  通过GitLab自动触发项目构建和部署  289
任务9.4  使用Jenkins的流水线项目实施CI/CD  292
任务要求  292
相关知识  293
9.4.1  Jenkins的流水线语法  293
9.4.2  在Jenkins中使用流水线  294
任务实现  294
任务9.4.1  新建流水线项目实施CI/CD  294
任务9.4.2  实施代码分支的CI/CD  297
任务9.5  在Kubernetes中动态创建代理节点实施CI/CD  304
任务要求  304
相关知识  304
9.5.1  Jenkins的主节点和代理节点  304
9.5.2  在Kubernetes中使用Pod作为代理节点  305
任务实现  305
任务9.5.1  在Jenkins中配置Pod代理  305
任务9.5.2  新建Jenkins项目测试Pod代理的动态创建  309
项目小结  312
课后练习  313
项目实训  314
实训1  手动将Python应用程序部署到Kubernetes  314
实训2  搭建云原生应用程序的CI/CD平台  315
实训3  使用Jenkins的流水线项目实施CI/CD  315
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/2/22 20:47:45