新書推薦:

《
“人工智能+”:大国竞争新优势 AI革命引爆大国角力新战场
》
售價:HK$
63.8

《
完美世界动画官方设定集
》
售價:HK$
107.8

《
克里希.那穆提系列—时间的终结:当哲学遇到物理学
》
售價:HK$
107.8

《
论国家作用的界限
》
售價:HK$
96.8

《
中国研究文摘·第1辑
》
售價:HK$
74.8

《
鸡尾酒:混合饮料的艺术、科学和乐趣
》
售價:HK$
107.8

《
汗青堂丛书148 波斯人:万王之王的时代
》
售價:HK$
107.8

《
西域四百年2:割据与融合(“西域四百年”系列重磅之作!)
》
售價:HK$
75.9
|
編輯推薦: |
随着业务规模的扩大和技术栈越来越复杂,传统的软件部署和管理方式已经难以满足用户的需求,于是云计算容器化技术应运而生。目前,Docker和Kubernetes已经成为云计算容器化和容器编排领域的重要技术,有助于敏捷、高效地构建、交付和维护应用程序,是云原生时代的核心基石。
本书特色
(1)系统介绍了Linux、Docker、Kubernetes的相关理论、技术和工程方法等内容,帮助读者掌握云计算容器化技术的应用和开发。
(2)内容循序渐进,从Linux的基础知识,到Docker技术的全面介绍,再到Kubernetes的原理与集群的搭建、部署等,便于零基础的读者学习相关知识。
(3)理论和实践有机结合,在介绍云计算容器化相关理论的过程中,穿插实践项目,帮助读者快速上手,轻松入门。
|
內容簡介: |
现代信息科技的发展日新月异,信息化浪潮不断推动着社会的发展,其中软件技术的发展对当今社会的影响相当深远。本书聚焦 Docker 与 Kubernetes 二者的有机结合,为广大读者讲解云计算容器化技术,旨在助力他们在这个数字化时代更好地掌握先进的软件运维技术。全书共5章,包括Linux的基础知识、Docker的基础知识、Kubernetes的核心概念与原理、使用Kuternetes部署应用程序、Kubernetes的进阶使用,每章章末提供了习题,供读者练习。本书可作为高等院校云计算相关课程的教材或教学参考书,也可供想要提升管理和部署云环境能力的技术人员参考使用。
|
關於作者: |
唐聃
成都信息工程大学软件工程学院院长,四川省信息化应用支撑软件工程技术研究中心主任、航空制造及地面指挥软件四川省高校重点实验室主任。牵头的“软件工程课程思政示范教学团队”被认定为省级“课程思政”示范教学团队。近5年,主持校级重点教改项目3项、省级教改项目1项,主编教材1部、参编教材2部;获得四川省教学成果奖、中国产学研合作创新成果奖一等奖、全国高校人工智能与大数据教学创新奖各1项。主要研究方向包括软件工程技术和编码理论,为多个国内外SCI/EI刊物的审稿人。近5年,发表科研论文13篇,主持国家级、省部级项目3项;参与完成国家标准制定2项、获国家发明专利授权17项;获省级科技进步奖二等奖2项,三等奖2项,获四川省计算机科学技术奖一等奖和二等奖各2项。
|
目錄:
|
目 录
前言
第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
|
內容試閱:
|
前 言
随着业务规模的扩大和技术栈的日益复杂,传统的软件部署和管理方式逐渐显得力不从心。云计算容器化技术的兴起为解决这一难题提供了一种高效、灵活、可移植的解决方案。Docker作为容器化技术的代表,通过轻量级、可移植的容器,实现了应用程序及其所有依赖项的一致性打包和部署。Kubernetes则是一个开源的容器编排引擎,能够自动化地部署、扩展和管理容器化应用,使应用在不同环境中始终能够保持高可用性。Docker 和 Kubernetes 目前已成为云计算容器化和容器编排领域中最重要的技术,它们为应用程序的开发、部署和管理提供了革命性的解决方案,使得软件团队能够更加敏捷、高效地构建、交付和维护应用程序。相关技术已被广泛应用并改变了传统的软件开发和运维模式,成为云原生时代的核心基石。
本书系统地介绍了Linux、Docker和Kubernetes三大板块的内容。其中第1章为Linux基础知识的介绍,包括Linux的历史与发展、应用场景、安装方法和基础操作命令,作为后文内容的铺垫。在第2章中,我们对Docker技术进行了讲解,主要包括Docker的简介、Docker镜像、Docker容器、Docker仓库、Dockerfile、Docker容器编排几个板块的知识。在第3章中,我们介绍了 Kubernetes 的核心概念与原理,包括 Kubernetes 的诞生背景、节点、重要组件等内容,以及Kubernetes中的核心资源对象—Pod、Pod 控制器、Service(服务)、Label(标签)、Volume(卷)、ConfigMap和Secret。这些知识是Kubernetes体系中最核心的部分,也是使用Kubernetes技术搭建一个简单Kubernetes集群所需的最基础的知识。在第4章中,我们详细讲解了从准备 Kubernetes 基本环境到搭建 Kubernetes集群,再到部署应用到集群上的全流程,此外,还介绍了Kubernetes集群可视化管理工具Dashboard 的相关知识与部署方式。在第5章中,我们对Kubernetes体系中一些实用的进阶性内容进行了讲解,包括Kubernetes API访问控制、Pod的计算资源管理、自动伸缩Pod与集群节点以及高级调度,以帮助Kubernetes集群管理者处理好生产场景中可能遇到的一些典型情况。
本书同时注重基础理论与实践,希望读者能通过书中的讲解多思考并动手练习,这样才能在实际工作中熟练应用所学知识。此外,在这个技术更新换代速度极快的时代,不断学习和更新自己的技术知识库是非常重要的。希望本书能够成为读者在云计算和容器化领域的良师益友,帮助读者在先进的技术路线上迈出更为坚实的步伐。
在编写过程中,笔者力求准确严谨,但由于技术在不断发展,加之笔者水平有限,书中难免存在不足之处,敬请广大读者批评指正,欢迎提出宝贵的意见和建议。
唐聃
于成都
|
|