基于Kubernetes的容器云平台实战/云计算与虚拟化技术丛书
书籍作者:陆平 左奇 付光 张晗 |
ISBN:9787111608141 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:7943 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
从PaaS平台建设和运维的角度去理解、分析和解决问题,囊括了Docker入门、Kubernetes技术架构及核心原理、网络及存储方案、行业实践指南、PaaS生态链以及发展趋势等方面的内容,图文并茂、内容丰富、由浅入深、讲解全面,具有很强的可借鉴性。
作者简介
陆平,博士,高级工程师,中兴通讯云计算及政企业务产品总经理,主要从事云计算、大数据、增强现实、基于多媒体服务技术等方面的研究,是中国计算机协会CCF会员、服务计算专委、CCF大数据专家委员会委员、中国电子学会云计算专家委员会专家委员、江苏省云计算工程技术中心主任、江苏省大数据存储及应用重点实验室主任,主持和参与了国家科技重大专项、国家科技支撑计划、863专项、发改委企业专项、江苏省科技成果转化项目等多项省部级科研课题,获得过多项省部级科技进步奖,拥有20多项发明专利。撰写了《物联网能力开放与应用》和《云计算中的大数据技术与应用》等著作,在国内外知名刊物上发表过多篇论文。
前言
随着基础设施即服务(IaaS)的技术普及和广泛使用,人们逐渐认识到IaaS技术所带来的显著优势,如资源按需灵活定制、低成本、弹性伸缩、统一管控等,但这仅解决了应用系统对IT资源需求的按需交付问题,应用系统本身的DevOps、CI/CD、编排、自动化部署、配置管理、服务发现与路由、弹性伸缩、自动化监控与日志采集等工作只能由应用自身完成或依赖于第三方工具,这将大大增加应用系统研发、运维和集成难度。
另一方面,随着企业数字化变革的深入发展,企业对微服务、分布式架构、Spring Cloud、大数据、人工智能、Serverless等新技术的使用也日益广泛,迫切需要一个满足上述需求的支撑平台。
PaaS平台的出现正是上述问题的最佳解决方案,也因此成为全球各大IT巨头和初创公司的研发重点,如IBM、VMware等,各种PaaS平台粉墨登场,竞争异常激烈,如Ansible、Puppet、Cloudify、CloudFoundry、Mesos、Swarm、Kubernetes等,最终一个以“Docker+Kubernetes”为核心的容器云平台让人们看到了希望,它可以满足大多数应用对PaaS平台的期望。
作者在容器云平台领域有多年的技术积累。本书结合容器云最新技术趋势和作者的长期实践,对容器云平台提出系统的见解,并对容器云平台实践提供了思路和建议。本书在组织结构上分成三大部分:基础篇、中级篇和高级篇。
基础篇(第1~5章)重点帮助初级人群快速掌握Docker基础知识,囊括了Docker容器的技术架构、Docker引擎原理、镜像制作与优化、镜像仓库管理等容器基础知识,文字浅显易懂。
中级篇(第6~16章)是针对初中级读者,使其具备全景PaaS技术栈理论和设计技能,包括Kubernetes架构及核心理念和技术原理、服务发现、容器网络及存储解决方案、运维监控等。同时还提供很多高级案例,如跨区域的服务部署、TensorFlow容器化部署、金融PaaS云平台等,有助于加深读者对Kubernetes各种技术的理解,并能够融会贯通。
高级篇(第17~21章)是针对中级读者的进阶篇,通过本篇可了解业界最新的微服务基础知识和各种微服务框架(或解决方案),如Spring Cloud、Serverless、Service Mesh等,还将这几种微服务框架与容器云平台进行融合,以提供功能更完整、更健壮的容器云解决方案。
目录
序
前言
第1章 Docker简介 1
1.1 什么是Docker 1
1.2 为什么要用Docker 3
1.3 Docker基本概念 4
1.3.1 镜像 4
1.3.2 容器 6
1.3.3 镜像仓库 8
1.4 Docker架构及原理 8
1.4.1 Docker架构 8
1.4.2 Docker原理 11
1.4.3 容器网络 15
1.4.4 容器存储 16
1.5 Docker安装 16
1.5.1 手动安装模式 17
1.5.2 Ubuntu中自动化安装Docker 18
1.5.3 CentOS中自动化安装Docker 19
第2章 容器引擎 21
2.1 容器引擎实现原理 22
2.2 容器生命周期管理 29
2.3 容器状态管理 33
2.4 访问运行状态容器 35
2.5 访问容器内容 36
第3章 镜像管理 37
3.1 Dockerfile及镜像制作 37
3.1.1 Dockerfile的作用 37
3.1.2 Dockerfile文件构成 37
3.1.3 常用命令集 38
3.1.4 构建镜像 38
3.2 镜像基本操作 38
3.2.1 从镜像仓库下载镜像 38
3.2.2 将本地镜像上传到镜像仓库 39
3.2.3 查看本地镜像 39
3.2.4 导出和导入本地镜像 40
3.2.5 构建镜像 41
3.2.6 修改本地镜像标识 42
3.2.7 删除本地镜像 42
3.3 Dockerfile优化 42
3.3.1 Dockerfile检查项 42
3.3.2 Dockerfile优化实例 43
3.3.3 检查及优化工具 44
3.4 操作系统基础镜像制作 44
3.4.1 操作系统版本选择 45
3.4.2 操作系统参数调整 45
3.4.3 确定基础rpm包范围 45
3.4.4 确定常用命令范围 46
3.4.5 操作系统镜像制作过程 48
3.4.6 系统资源限制配置说明 49
3.5 容器镜像安全加固 49
3.5.1 容器安全加固规范 49
3.5.2 安全检查工具 51
第4章 镜像仓库管理 52
4.1 Docker Registry 52
4.1.1 Docker Hub 52
4.1.2 第三方公共仓库 53
4.1.3 建立私有镜像仓库 53
4.2 Harbor 54
4.2.1 Harbor架构 55
4.2.2 Harbor的镜像同步机制 56
4.2.3 Harbor用户认证 56
4.2.4 Harbor容器镜像安全扫描 57
4.2.5 Harbor部署实战 57
第5章 Docker相关部署实践 59
5.1 MySQL Docker部署实践 59
5.1.1 MySQL简介 59
5.1.2 MySQL为什么要容器化部署 60
5.1.3 MySQL容器化操作实践 60
5.2 Docker支持GPU实践 62
5.2.1 GPU简介 62
5.2.2 CPU与GPU的对比 63
5.2.3 通过nvidia-docker使用GPU 63
第6章 Kubernetes简介 65
6.1 PaaS简介 65
6.1.1 传统PaaS系统 65
6.1.2 基于Docker的新型PaaS平台 67
6.2 为什么需要Kubernetes 69
6.3 Kubernetes的由来 69
6.3.1 Kubernetes的特点 69
6.3.2 Kubernetes的历史 70
6.4 Kubernetes核心概念 71
第7章 Kubernetes架构和部署 73
7.1 Kubernetes架构及组件 73
7.1.1 Master节点 73
7.1.2 Node节点 75
7.1.3 调度控制原理 76
7.1.4 集群功能模块间的通信 76
7.1.5 Kubernetes高可用方案 77
7.2 Kubernetes部署方案总结 77
第8章 Pod相关核心技术 81
8.1 Pod 81
8.1.1 Pod定义文件详解 81
8.1.2 基本操作 83
8.1.3 Pod与容器 85
8.1.4 镜像 86
8.1.5 其他设置 86
8.1.6 Pod调度 89
8.1.7 Pod生命周期 90
8.2 Label 92
8.3 Replication Controller和Replica Set 93
8.3.1 RC定义文件详解 93
8.3.2 RC与Pod的关联——Label 95
8.3.3 弹性伸缩 97
8.3.4 滚动升级 98
8.3.5 新一代副本控制器Replica Set 100
8.4 Horizontal Pod Autoscaler 101
8.5 Deployment 102
8.6 Job 105
8.7 StatefulSet 106
8.7.1 使用StatefulSet 106
8.7.2 扩容/缩容StatefulSet 108
8.8 ConfigMap 110
8.9 健康检查 112
8.9.1 流程健康检查 112
8.9.2 应用健康检查 112
第9章 Kubernetes Service 114
9.1 容器及Pod间通信 115
9.2 kube-proxy 117
9.3 DNS服务发现机制 118
9.4 Headless服务 119
9.5 Kubernetes服务 120
9.5.1 ClusterIP 122
9.5.2 NodePort 123
9.5.3 LoadBalancer 125
9.5.4 Ingress 125
9.6 网络策略 127
9.7 完整的Kubernetes服务发布实践 128
9.7.1 各Kubernetes集群
LoadBalancer服务发布 130
9.7.2 Ingress服务发布 132
9.7.3 服务发现 133
第10章 Kubernetes网络 134
10.1 单主机Docker网络通信 134
10.1.1 Host模式 135
10.1.2 Container模式 135
10.1.3 None模式 136
10.1.4 Bridge模式 136
10.1.5 基础网络模型的优缺点分析 137
10.2 跨主机Docker网络通信 137
10.2.1 Flannel网络方案 139
10.2.2 Calico网络方案 140
10.2.3 利用Kuryr整合OpenStack与Kubernetes网络 143
10.2.4 网络方案对比分析 144
第11章 Kubernetes存储 145
11.1 存储使用场景 145
11.2 文件存储的几种形式 146
11.3 Flex Volume存储管理方案 148
11.3.1 为什么需要灵活存储组件 148
11.3.2 如何实现灵活存储组件 148
11.4 标准化容器存储接口CSI 149
第12章 安全及多租户配额管理 150
12.1 API服务器认证 151