云计算容器化技术与实践 / 高等学校计算机专业系列教材
¥49.00定价
作者: 唐聃,申宇杰,陈金京,王燮等
出版时间:2025-04-24
出版社:机械工业出版社
- 机械工业出版社
- 9787111772743
- 1-1
- 547185
- 平装
- 2025-04-24
- 236
内容简介
现代信息科技的发展日新月异,信息化浪潮不断推动着社会的发展,其中软件技术的发展对当今社会的影响相当深远。本书聚焦 Docker 与 Kubernetes 二者的有机结合,为广大读者讲解云计算容器化技术,旨在助力他们在这个数字化时代更好地掌握先进的软件运维技术。全书共5章,包括Linux的基础知识、Docker的基础知识、Kubernetes的核心概念与原理、使用Kuternetes部署应用程序、Kubernetes的进阶使用,每章章末提供了习题,供读者练习。本书可作为高等院校云计算相关课程的教材或教学参考书,也可供想要提升管理和部署云环境能力的技术人员参考使用。
目录
目 录
前言
第1章 Linux基础知识1
1.1 Linux的历史与发展1
1.1.1 操作系统与Linux1
1.1.2 Linux 与 UNIX2
1.1.3 为什么要使用 Linux3
1.1.4 Linux系统的种类5
1.2 Linux的应用场景6
1.2.1 个人应用场景6
1.2.2 企业应用场景7
1.3 Linux 系统的安装8
1.3.1 CentOS介绍8
1.3.2 虚拟机软件介绍9
1.3.3 CentOS的安装10
1.4 Linux的操作基础12
1.4.1 使用终端和Shell12
1.4.2 文件管理14
1.4.3 用户与用户组管理21
1.4.4 进程管理24
1.4.5 磁盘管理29
1.4.6 网络管理33
1.4.7 防火墙设置37
本章小结39
章末练习40
第2章 Docker基础知识42
2.1 Docker 简介42
2.1.1 Docker 概述42
2.1.2 Docker 的优势与应用场景43
2.1.3 Docker 架构45
2.1.4 Docker的安装46
2.2 Docker 镜像49
2.2.1 Docker 镜像基础49
2.2.2 Docker 镜像操作50
2.2.3 Docker镜像的创建52
2.2.4 Docker镜像的导入与导出53
2.3 Docker 容器54
2.3.1 Docker 容器基础54
2.3.2 Docker 容器操作54
2.3.3 Docker 容器管理56
2.3.4 Docker容器的导入与导出59
2.4 Docker 仓库61
2.4.1 Docker 仓库基础61
2.4.2 Docker 仓库操作61
2.5 Dockerfile64
2.5.1 Dockerfile基础64
2.5.2 Dockerfile操作65
2.5.3 Dockerfile示例65
2.6 Docker容器编排67
2.6.1 Docker容器编排概念67
2.6.2 Docker 容器编排操作71
2.6.3 Docker 容器编排示例72
本章小结76
章末练习77
第3章 Kubernetes核心概念与
原理79
3.1 Kubernetes介绍79
3.1.1 诞生与发展79
3.1.2 kubeadm、kubectl工具和
kubelet组件80
3.1.3 master(控制节点 / 主节
点)和 node(工作节点)80
3.1.4 Kubernetes集群中的重要
组件80
3.2 Pod—Kubernetes集群管理
的最小单元82
3.2.1 Pod 相关概念82
3.2.2 生命周期及状态82
3.2.3 配置83
3.2.4 容器运行时84
3.2.5 Namespace(命名空间):
资源的有效隔离84
3.3 Pod控制器—用于管理Pod
的中间层85
3.3.1 Pod控制器相关概念85
3.3.2 ReplicaSet86
3.3.3 Deployment86
3.3.4 StatefulSet90
3.3.5 DaemonSet92
3.3.6 Job 和CronJob93
3.4 Service(服务)—使Pod能
与集群内外通信94
3.4.1 服务相关概念94
3.4.2 ClusterIP服务94
3.4.3 NodePort服务94
3.4.4 LoadBalancer服务95
3.4.5 ExternalName服务96
3.4.6 Ingress96
3.5 Label(标签)— 资源的特
征标识97
3.5.1 标签相关概念97
3.5.2 创建、修改和查看标签98
3.5.3 使用方法举例100
3.5.4 推荐使用的标签101
3.6 Volume(卷)—Pod中容器的
数据共享与数据的持久化存储103
3.6.1 卷相关概念103
3.6.2 本地存储104
3.6.3 网络存储 NFS105
3.6.4 PV 和 PVC106
3.7 ConfigMap和 Secret—配置
应用程序112
3.7.1 应用配置相关介绍112
3.7.2 ConfigMap112
3.7.3 Secret113
本章小结115
章末练习116
第4章 使用Kubernetes部署
应用程序117
4.1 Kubernetes基本环境搭建117
4.1.1 系统环境准备117
4.1.2 安装并配置 Docker118
4.1.3 安装kubeadm、kubectl和
kubelet119
4.1.4 部署主节点(在主节点上
执行)120
4.1.5 工作节点加入集群(在工
作节点上执行)121
4.1.6 部署网络插件(在主节点
上执行)121
4.2 Kubernetes部署 Spring Boot
应用126
4.2.1 得到项目镜像(在工作节
点上操作)126
4.2.2 创建 Deployment 控制器
(在主节点上操作)128
4.2.3 暴露服务端口(在主节点
上操作)并尝试访问应用
页面129
4.2.4 通过 Ingress 方式暴露
(建议生产环境使用)129
4.3 部署 Dashboard 可视化管理
界面145
4.3.1 Dashboard 介绍145
4.3.2 Dashboard 部署145
4.3.3 创建授权用户并登录146
本章小结155
章末练习156
第5章 Kubernetes的进阶使用157
5.1 Kubernetes API访问控制157
5.1.1 访问控制机制157
5.1.2 认证157
5.1.3 鉴权158
5.1.4 准入控制162
5.2 Pod 的计算资源管理164
5.2.1 容器资源的请求和限制164
5.2.2 Pod 的服务质量165
5.2.3 为命名空间中的 Pod 设置
默认的资源请求和限制167
5.2.4 为命名空间中的 Pod 设置
资源的最大和最小约束169
5.2.5 控制命名空间的可用资源170
5.2.6 限制命名空间中的 Pod 数173
5.3 自动伸缩 Pod 与集群节点175
5.3.1 Pod 的横向自动伸缩175
5.3.2 Pod 的纵向自动伸缩177
5.3.3 节点的横向伸缩179
5.4 高级调度180
5.4.1 污点和容忍度180
5.4.2 Kubernetes调度器及性能
调优181
本章小结186
章末练习186
前言
第1章 Linux基础知识1
1.1 Linux的历史与发展1
1.1.1 操作系统与Linux1
1.1.2 Linux 与 UNIX2
1.1.3 为什么要使用 Linux3
1.1.4 Linux系统的种类5
1.2 Linux的应用场景6
1.2.1 个人应用场景6
1.2.2 企业应用场景7
1.3 Linux 系统的安装8
1.3.1 CentOS介绍8
1.3.2 虚拟机软件介绍9
1.3.3 CentOS的安装10
1.4 Linux的操作基础12
1.4.1 使用终端和Shell12
1.4.2 文件管理14
1.4.3 用户与用户组管理21
1.4.4 进程管理24
1.4.5 磁盘管理29
1.4.6 网络管理33
1.4.7 防火墙设置37
本章小结39
章末练习40
第2章 Docker基础知识42
2.1 Docker 简介42
2.1.1 Docker 概述42
2.1.2 Docker 的优势与应用场景43
2.1.3 Docker 架构45
2.1.4 Docker的安装46
2.2 Docker 镜像49
2.2.1 Docker 镜像基础49
2.2.2 Docker 镜像操作50
2.2.3 Docker镜像的创建52
2.2.4 Docker镜像的导入与导出53
2.3 Docker 容器54
2.3.1 Docker 容器基础54
2.3.2 Docker 容器操作54
2.3.3 Docker 容器管理56
2.3.4 Docker容器的导入与导出59
2.4 Docker 仓库61
2.4.1 Docker 仓库基础61
2.4.2 Docker 仓库操作61
2.5 Dockerfile64
2.5.1 Dockerfile基础64
2.5.2 Dockerfile操作65
2.5.3 Dockerfile示例65
2.6 Docker容器编排67
2.6.1 Docker容器编排概念67
2.6.2 Docker 容器编排操作71
2.6.3 Docker 容器编排示例72
本章小结76
章末练习77
第3章 Kubernetes核心概念与
原理79
3.1 Kubernetes介绍79
3.1.1 诞生与发展79
3.1.2 kubeadm、kubectl工具和
kubelet组件80
3.1.3 master(控制节点 / 主节
点)和 node(工作节点)80
3.1.4 Kubernetes集群中的重要
组件80
3.2 Pod—Kubernetes集群管理
的最小单元82
3.2.1 Pod 相关概念82
3.2.2 生命周期及状态82
3.2.3 配置83
3.2.4 容器运行时84
3.2.5 Namespace(命名空间):
资源的有效隔离84
3.3 Pod控制器—用于管理Pod
的中间层85
3.3.1 Pod控制器相关概念85
3.3.2 ReplicaSet86
3.3.3 Deployment86
3.3.4 StatefulSet90
3.3.5 DaemonSet92
3.3.6 Job 和CronJob93
3.4 Service(服务)—使Pod能
与集群内外通信94
3.4.1 服务相关概念94
3.4.2 ClusterIP服务94
3.4.3 NodePort服务94
3.4.4 LoadBalancer服务95
3.4.5 ExternalName服务96
3.4.6 Ingress96
3.5 Label(标签)— 资源的特
征标识97
3.5.1 标签相关概念97
3.5.2 创建、修改和查看标签98
3.5.3 使用方法举例100
3.5.4 推荐使用的标签101
3.6 Volume(卷)—Pod中容器的
数据共享与数据的持久化存储103
3.6.1 卷相关概念103
3.6.2 本地存储104
3.6.3 网络存储 NFS105
3.6.4 PV 和 PVC106
3.7 ConfigMap和 Secret—配置
应用程序112
3.7.1 应用配置相关介绍112
3.7.2 ConfigMap112
3.7.3 Secret113
本章小结115
章末练习116
第4章 使用Kubernetes部署
应用程序117
4.1 Kubernetes基本环境搭建117
4.1.1 系统环境准备117
4.1.2 安装并配置 Docker118
4.1.3 安装kubeadm、kubectl和
kubelet119
4.1.4 部署主节点(在主节点上
执行)120
4.1.5 工作节点加入集群(在工
作节点上执行)121
4.1.6 部署网络插件(在主节点
上执行)121
4.2 Kubernetes部署 Spring Boot
应用126
4.2.1 得到项目镜像(在工作节
点上操作)126
4.2.2 创建 Deployment 控制器
(在主节点上操作)128
4.2.3 暴露服务端口(在主节点
上操作)并尝试访问应用
页面129
4.2.4 通过 Ingress 方式暴露
(建议生产环境使用)129
4.3 部署 Dashboard 可视化管理
界面145
4.3.1 Dashboard 介绍145
4.3.2 Dashboard 部署145
4.3.3 创建授权用户并登录146
本章小结155
章末练习156
第5章 Kubernetes的进阶使用157
5.1 Kubernetes API访问控制157
5.1.1 访问控制机制157
5.1.2 认证157
5.1.3 鉴权158
5.1.4 准入控制162
5.2 Pod 的计算资源管理164
5.2.1 容器资源的请求和限制164
5.2.2 Pod 的服务质量165
5.2.3 为命名空间中的 Pod 设置
默认的资源请求和限制167
5.2.4 为命名空间中的 Pod 设置
资源的最大和最小约束169
5.2.5 控制命名空间的可用资源170
5.2.6 限制命名空间中的 Pod 数173
5.3 自动伸缩 Pod 与集群节点175
5.3.1 Pod 的横向自动伸缩175
5.3.2 Pod 的纵向自动伸缩177
5.3.3 节点的横向伸缩179
5.4 高级调度180
5.4.1 污点和容忍度180
5.4.2 Kubernetes调度器及性能
调优181
本章小结186
章末练习186