包邮 精通Kubernetes+架构解密 从分布式到微服务 第2二版 吴治辉做个火影般的架构师pdf下载

包邮 精通Kubernetes+架构解密 从分布式到微服务 第2二版 吴治辉做个火影般的架构师百度网盘pdf下载

作者:
简介:包邮 精通Kubernetes+架构解密 从分布式到微服务 第2二版 吴治辉做个火影般的架构师
出版社:
出版时间:2020-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍




9787115536112 9787121388354


精通Kubernetes

本书通过理论与实践相结合,全方位地介绍Kubernetes这一容器编排的理想工具。本书共14章,涉及的主题包括理解Kubernetes架构,创建Kubernetes集,监控、日志记录和故障排除,高可用性和可靠性,配置Kubernetes安全、限制和账户,使用关键Kubernetes资源,管理Kubernetes存储,使用Kubernetes运行有状态应用程序,滚动更新、可伸缩性和配额,高级Kubernetes网络,在云平台和集联邦中运行Kubernetes,自定义Kubernetes API和插件,作Kubernetes软件包管理器以及Kubernetes的未来。本书综合考虑不同环境和用例,使读者了解如何创建大型系统并将其部署在Kubernetes上。在各章节主题中,读者提供了丰富的实践案例分析,娓娓道来,引人入胜。 本书可以作为Kubernetes的实践参考手册,聚焦于设计和管理Kubernetes集,为开发人员、运维工程师详细介绍了Kubernetes所提供的功能和服务。


Gigi Sayfan是VRVIU的首席系统架构师 ,他致力于开发软件专业20多年,涉及的领域包括即时消息传送、变形、芯片制造过程控制、用于游戏控制台的嵌入式多媒体应用、大脑启发式机器学习,定制浏览器开发,3D分布式Web服务游戏平台以及近的物联网/传感器。他擅长C、C++、C#、Python、Java等,以用于Windows(3.11至7)。他的技术专长包括数据库、分布式系统、非正统用户界面。

关联推荐

kubernetes入门手册 kubernetes初学者指南

1章 理解Kubernetes架构  1  
1.1 理解容器编排  1  
1.1.1 物理机、虚拟机和容器  1  
1.1.2 云端容器  2  
1.1.3 服务器运行模式  2  
1.2 Kubernetes的相关概念  3  
1.2.1 集  4  
1.2.2 节点  4  
1.2.3 主节点  4  
1.2.4 Pod  4  
1.2.5 标签  5  
1.2.6 注解  5  
1.2.7 标签选择器  5  
1.2.8 副本控制器和副本集  6  
1.2.9 服务  6  
1.2.10 存储卷  6  
1.2.11 有状态服务集  7  
1.2.12 密钥对象  7  
1.2.13 名称  7  
1.2.14 命名空间  8  
1.3 深入了解Kubernetes架构  8  
1.4 Kubernetes API  10  
1.4.1 Kubernetes API  10  
1.4.2 自动伸缩 API  10  
1.5 Kubernetes组件  11  
1.5.1 主组件  11  
1.5.2 节点组件  12  
1.6 Kubernetes运行时  13  
1.6.1 运行时接口  13  
1.6.2 Docker  14  
1.6.3 Rkt  15  
1.6.4 Hyper Container  16  
1.7 持续集成与部署  17  
1.7.1 CI/CD流水线  17  
1.7.2 为Kubernetes设计CI/CD流水线  18  
1.8 总结  19  
2章 创建Kubernetes集  20  
2.1 用Minikube快速创建单节点集  20  
2.1.1 准备工作  20  
2.1.2 创建集  22  
2.1.3 故障排除  23  
2.1.4 检查集  24  
2.1.5 部署服务  25  
2.1.6 用仪表板检查集  26  
2.2 用Kubeadm创建多节点集  26  
2.2.1 准备工作  26  
2.2.2 组建Vagrant虚拟机集  26  
2.2.3 安装所需软件  27  
2.2.4 创建集  29  
2.2.5 建立Pod网络  30  
2.2.6 添加工作节点  31  
2.3 在GCP、AWS和Azure云端创建集  32  
2.3.1 云提供商接口  32  
2.3.2 GCP  33  
2.3.3 AWS  33  
2.3.4 Azure  34  
2.4 从头开始创建裸金属集  34  
2.4.1 裸金属用例  34  
2.4.2 什么时候应该考虑创建裸金属集  35  
2.5 进程  35  
2.6 使用虚拟私有云基础设施  35  
2.7 总结  36  
3章 监控、日志记录和故障排除  37  
3.1 用Heapster监控Kubernetes  37  
3.2 InfluDB后端  39  
3.2.1 存储模式  40  
3.2.2 Grafana可视化  42  
3.3 仪表板的性能分析  43  
3.3.1 顶视图  44  
3.3.2 添加日志  49  
3.4 检测节点问题  51  
3.4.1 节点问题检测器  52  
3.4.2 DaemonSet  52  
3.4.3 节点问题检测DaemonSet  52  
3.5 故障排除方案  53  
3.6 设计健壮的系统  53  
3.6.1 硬件故障  54  
3.6.2 配额、份额和限制  54  
3.6.3 Bad Configuration  55  
3.6.4 成本和性能  56  
3.7 总结  57  
4章 高可用性和可靠性  58  
4.1 高可用性概念  58  
4.1.1 冗余  58  
4.1.2 热交换  59  
4.1.3 领导选举  59  
4.1.4 智能负载均衡  59  
4.1.5 幂等  59  
4.1.6 自愈  60  
4.2 高可用性佳实践  60  
4.2.1 创建高可用性集  60  
4.2.2 确保节点可靠  61  
4.2.3 保护集状态  62  
4.2.4 保护数据  66  
4.2.5 运行冗余API服务器  67  
4.2.6 用Kubernetes运行领导选举  67  
4.2.7 使预演环境高度可用  69  
4.2.8 测试高可用性  70  
4.3 集在线升级  71  
4.3.1 滚动升级  71  
4.3.2 蓝绿升级  73  
4.3.3 管理数据契约变更  73  
4.3.4 数据迁移  74  
4.3.5 检测过期API  74  
4.4 大型集的性能、成本和设计权衡  75  
4.4.1 可用性要求  75  
4.4.2 尽力而为  75  
4.4.3 维护窗口  76  
4.4.4 快速恢复  76  
4.4.5 零停机时间  77  
4.4.6 性能和数据的一致性  78  
4.5 总结  78  
5章 配置Kubernetes安全、限制和账户  80  
5.1 理解Kubernetes安全挑战  80  
5.1.1 节点挑战  81  
5.1.2 网络挑战  81  
5.1.3 镜像挑战  82  
5.1.4 配置和部署挑战  83  
5.1.5 Pod和容器挑战  84  
5.1.6 组织、文化和过程挑战  84  
5.2 加固Kubernetes  85  
5.2.1 理解Kubernetes的服务账户  85  
5.2.2 访问API服务器  87  
5.2.3 保护Pod  90  
5.2.4 管理网络策略  95  
5.2.5 使用密钥对象  97  
5.3 运行多用户集  100  
5.3.1 多用户集的案例  100  
5.3.2 安全多租户使用命名空间  101  
5.3.3 避免命名空间陷阱  102  
5.4 总结  102  
6章 使用关键Kubernetes资源  103  
6.1 设计Hue平台  103  
6.1.1 定义Hue的范围  103  
6.1.2 规划工作流  107  
6.2 利用Kubernetes构建Hue平台  107  
6.2.1 有效使用kubectl  107  
6.2.2 理解kubectl资源配置文件  108  
6.2.3 在Pod中部署长时间运行的微服务  110  
6.3 内外部服务分离  114  
6.3.1 部署内部服务  114  
6.3.2 创建Hue-reminders服务  115  
6.3.3 从外部公开服务  116  
6.4 使用命名空间限制访问  118  
6.5 启动Job  120  
6.5.1 并行运行作业  121  
6.5.2 清理已完成的作业  122  
6.5.3 调度计划作业  122  
6.6 kubectl获得Pod  123  
6.7 混合非集组件  124  
6.7.1 集网络外部组件  124  
6.7.2 集网络内部组件  125  
6.7.3 用Kubernetes管理Hue平台  125  
6.7.4 使用就绪探针管理依赖  126  
6.8 为有序启动Pod采用初始容器  127  
6.9 用Kubernetes进化Hue平台  129  
6.9.1 Hue在企业中的运用  129  
6.9.2 用Hue推进科学  129  
6.9.3 用Hue实施教育  129  
6.10 总结  129  
7章 管理Kubernetes存储  131  
7.1 持久存储卷指导  131  
7.1.1 存储卷  131  
7.1.2 创建持久存储卷  135  
7.1.3 持续存储卷声明  137  
7.1.4 按使用存储卷挂载声明  138  
7.1.5 存储类  139  
7.1.6 从端到端演示持久存储卷  140  
7.2 公共存储卷类型——GCE、AWS和Azure  144  
7.2.1 AWS弹性块存储(EBS)  144  
7.2.2 AWS弹性文件系统(EFS)  145  
7.2.3 GCE持久化磁盘  145  
7.2.4 Azure数据盘  146  
7.2.5 Azure文件存储  147  
7.3 Kubernetes中的GlusterFS和Ceph存储卷  148  
7.3.1 使用GlusterFS  148  
7.3.2 使用Ceph  151  
7.4 Flocker作为集容器数据存储卷管理器  153  
7.5 将企业存储集成到Kubernetes  155  
7.6 总结  156  
8章 使用Kubernetes运行有状态的应用程序  157  
8.1 Kubernetes中的有状态与无状态应用  157  
8.1.1 理解分布式数据密集型应用的本质  157  
8.1.2 为什么在Kubernetes中管理状态  158  
8.1.3 为什么在Kubernetes以外管理状态  158  
8.2 共享环境变量与DNS记录  158  
8.2.1 通过DNS访问外部数据存储  159  
8.2.2 通过环境变量访问外部数据存储  159  
8.2.3 使用冗余内存状态  161  
8.2.4 使用DaemonSet进行冗余持久存储  161  
8.2.5 应用持久存储卷声明  161  
8.2.6 利用有状态服务集  162  
8.3 在Kubernetes运行Cassandra集  163  
8.3.1 Cassandra快速入门  164  
8.3.2 Cassandra Docker镜像  164  
8.3.3 连接Kubernetes和Cassandra  169  
8.3.4 创建Cassandra无源服务  172  
8.3.5 使用有状态服务集创建Cassandra集  172  
8.3.6 使用副本控制器分布Cassandra  176  
8.3.7 利用DaemonSet分布Cassandra  179  
8.4 总结  180  
9章 滚动更新、可伸缩性和配额  181  
9.1 水平Pod自动伸缩  181  
9.1.1 声明水平Pod自动伸缩器  182  
9.1.2 自定义度量  183  
9.1.3 使用Kubectl自动伸缩  185  
9.2 用自动伸缩进行滚动更新  187  
9.3 用限制和配额处理稀缺资源  188  
9.3.1 启用资源配额  189  
9.3.2 资源配额类型  189  
9.3.3 配额范围  191  
9.3.4 请求与限制  192  
9.3.5 使用配额  192  
9.4 选择与管理集性能  197  
9.4.1 选择节点类型  197  
9.4.2 选择存储解决方案  197  
9.4.3 交易成本与响应时间  198  
9.4.4 有效使用多节点配置  198  
9.4.5 利用弹性云资源  198  
9.4.6 考虑Hyper.sh  200  
9.5 挑战Kubernetes性能极限  200  
9.5.1 提高Kubernetes的性能和可扩展性  201  
9.5.2 测量Kubernetes的性能和可伸缩性  202  
9.5.3 按规模测试Kubernetes  205  
9.6 总结  206  
10章 高级Kubernetes网络  207  
10.1 理解Kubernetes网络模型  207  
10.1.1 容器内通信(容器-容器)  207  
10.1.2 Pod间通信(Pod-Pod)  208  
10.1.3 Pod-服务通信  208  
10.1.4 外部访问  208  
10.1.5 Kubernetes网络与Docker网络  209  
10.1.6 查找与发现  210  
10.1.7 Kubernetes网络插件  212  
10.2 Kubernetes网络解决方案  217  
10.2.1 裸金属集桥接  217  
10.2.2 Contiv  218  
10.2.3 Open vSwitch  218  
10.2.4 Nuage网络VCS  219  
10.2.5 Canal  219  
10.2.6 Flannel  220  
10.2.7 Calico工程  221  
10.2.8 Romana  222  
10.2.9 Weave Net  222  
10.3 有效使用网络策略  223  
10.4 负载均衡选项  224  
10.4.1 外部负载均衡器  225  
10.4.2 服务负载均衡器  228  
10.4.3 入口  228  
10.5 编写自己的CNI插件  231  
10.6 总结  236  
11章 在云平台和集联邦中运行Kubernetes  237  
11.1 理解集联邦  237  
11.1.1 集联邦的重要用例  238  
11.1.2 联邦控制平面  240  
11.1.3 联邦资源  241  
11.1.4 高难度部分  245  
11.2 管理Kubernetes集联邦  248  
11.3 从底层建立集联邦  248  
11.3.1 初始设置  249  
11.3.2 使用官方hyperkube镜像  249  
11.3.3 运行联邦控制平面  249  
11.3.4 用联邦注册Kubernetes集  250  
11.3.5 更新KubeDNS  251  
11.3.6 关闭联邦  251  
11.3.7 用Kubefed建立集联邦  251  
11.4 运行联邦工作负载  257  
11.4.1 创建联邦服务  257  
11.4.2 添加后端Pod  258  
11.4.3 验证公共DNS记录  258  
11.4.4 发现联邦服务  259  
11.4.5 后端Pod和整个集的故障处理  261  
11.4.6 故障排除  261  
11.5 总结  262  
12章 自定义Kubernetes API和插件  264  
12.1 使用Kubernetes API  264  
12.1.1 理解OpenAPI  264  
12.1.2 设置代理  265  

12.1.4 通过Kubernetes API创建Pod  268  
12.1.5 通过Python客户端访问Kubernetes API  269  
12.2 扩展Kubernetes API  275  
12.2.1 理解三方资源的结构  276  
12.2.2 开发三方资源  276  
12.2.3 整合三方资源  277  
12.3 编写Kubernetes插件  278  
12.4 编写授权插件  284  
12.4.1 编写准入控制接口  284  
12.4.2 编写自定义度量插件  287  
12.4.3 编写卷插件  288  
12.5 总结  291  
13章 作Kubernetes软件包管理器  292  
13.1 理解Helm  292  
13.1.1 Helm的动机  292  
13.1.2 Helm架构  293  
13.1.3 Helm组件  293  
13.1.4 Helm与Helm-Classic  294  
13.2 使用Helm  294  
13.2.1 安装Helm  294  
13.2.2 寻找图表  295  
13.2.3 安装包  297  
13.2.4 使用安装包库  302  
13.2.5 使用Helm管理图表  303  
13.3 创建自己的图表  304  
13.3.1 Chart.yaml文件  304  
13.3.2 图表元数据文件  306  
13.3.3 管理图表依赖  306  
13.3.4 使用模板和值  309  
13.4 总结  312  
14章 Kubernetes的未来  313  
14.1 未来发展道路  313  
14.1.1 Kubernetes的发行版和里程碑  313  
14.1.2 Kubernetes的特别兴趣小组和工作组  314  
14.2 面临的挑战  314  
14.2.1 捆绑价值  314  
14.2.2 Docker Swarm  315  
14.2.3 Mesos/Mesosphere  315  
14.2.4 云平台  315  
14.2.5 AWS  315  
14.2.6 Azure  316  
14.2.7 阿里云  316  
14.3 Kubernetes势头  316  
14.3.1 社区  316  
14.3.2 GitHub  316  
14.3.3 会议  316  
14.3.4 思维共享  317  
14.3.5 生态系统  317  
14.3.6 公有云提供商  317  
14.4 教育和培训  318  
14.5 动态插件  318  
14.6 总结  319

架构解密:从分布式到微服务(2版)

内容简介
微服务、云原生、Kubernetes、Service Mesh是分布式领域的热点技术,它们并不是凭空出现的,一定继承了某些“前辈”的优点。我们不仅要了解这些技术,还要深入理解其发展脉络、原理等,才能游刃有余地将其用于现有的项目开发或老系统改造中。

本书总计9章。1章讲解分布式的基础——网络,对国际互联网、NIO、AIO、网络传输中的对象序列化问题、HTTP的前世今生、TCP/IP、从CDN到SD-WAN等知识进行深入讲解。2章讲解分布式系统的经典理论,涉及分布式系统的设计理念、一致性原理;ZooKeeper的使用场景;CAP理论的前世今生;BASE准则;分布式事务的原理。3章从RPC开始,讲解分布式服务治理框架的起源与原理,并讲解ZeroC Ice的原理和微服务架构实战。4~6章以专题形式讲解内存、分布式文件存储和分布式计算,对每个专题都讲解相关的重要理论、产品、开源项目及经验等。7章深入讲解全文检索与消息队列中间件的原理及用法。8章讲解以Kubernetes为代表的微服务架构解决了传统架构的哪些痛点;Service Mesh解决了微服务架构的哪些问题,以及如何理解它的原理和核心内容。9章分享作者的架构实践经验。

不论你是有十几年研发经验及架构经验的IT老手,还是刚入门系统架构的IT新手,本书都能对你理解分布式架构和微服务架构大有助益。

目录
1章 深入理解网络 1

1.1 从国际互联网开始 1

1.2 NIO,一本难念的经 7

1.2.1 难懂的ByteBuffer 7

1.2.2 晦涩的“非阻塞” 15

1.2.3 复杂的Reactor模型 18

1.3 AIO,大道至简的设计与苦涩的现实 21

1.4 网络传输中的对象序列化问题 26

1.5 HTTP的前世今生 30

1.5.1 HTTP的设计思路 31

1.5.2 HTTP如何保持状态 32

1.5.3 Session的秘密 34

1.5.4 再谈Token 36

1.5.5 分布式Session 39

1.5.6 HTTP与Service Mesh 40

1.6 分布式系统的基石:TCP/IP 42

1.7 从CDN到SD-WAN 45

1.7.1 互联互不通的运营商网络 45

1.7.2 双线机房的出现 45

1.7.3 CDN的作用 46

1.7.4 SD-WAN技术的诞生 47

2章 分布式系统的经典理论 48

2.1 从分布式系统的设计理念说起 48

2.2 分布式系统的一致性原理 50

2.3 分布式系统的基石之ZooKeeper 53

2.3.1 ZooKeeper的原理与功能 53

2.3.2 ZooKeeper的应用场景案例分析 57

2.4 经典的CAP理论 61

2.5 BASE准则,一个影响深远的指导思想 63

2.6 重新认识分布式事务 64

2.6.1 数据库单机事务的实现原理 64

2.6.2 经典的X/OpenDTP事务模型 66

2.6.3 互联网中的分布式事务解决方案 68

3章 聊聊RPC 73

3.1 从IPC通信说起 73

3.2 古老又有生命力的RPC 75

3.3 从RPC到服务治理框架 81

3.4 基于ZeroC Ice的微服务架构指南 84

3.4.1 ZeroC Ice的前世今生 84

3.4.2 ZeroC Ice微服务架构指南 86

3.4.3 微服务架构概述 93

4章 深入浅析内存 99

4.1 你所不知道的内存知识 99

4.1.1 复杂的CPU与单纯的内存 99

4.1.2 多核CPU与内存共享问题 101

4.1.3 著名的Cache伪共享问题 105

4.1.4 深入理解不一致性内存 107

4.2 内存计算技术的前世今生 110

4.3 内存缓存技术分析 115

4.3.1 缓存概述 115

4.3.2 缓存实现的几种方式 117

4.3.3 Memcache的内存管理技术 119

4.3.4 Redis的独特之处 121

4.4 内存计算产品分析 122

4.4.1 SAP HANA 123

4.4.2 Hazelcast 125

4.4.3 VoltDB 127

5章 深入解析分布式文件存储 130

5.1 数据存储进化史 130

5.2 经典的网络文件系统NFS 137

5.3 高性能计算领域的分布式文件系统 140

5.4 企业级分布式文件系统GlusterFS 142

5.5 创新的Linu分布式存储系统——Ceph 145

5.6 星际文件系统IPFS 151

5.7 软件定义存储 155

6章 聊聊分布式计算 161

6.1 不得不说的Actor模型 161

6.2 Actor原理与实践 165

6.3 初识Akka 172

6.4 适用面很广的Storm 179

6.5 MapReduce及其引发的新世界 187

7章 全文检索与消息队列中间件 194

7.1 全文检索 194

7.1.1 Lucene 195

7.1.2 Solr 199

7.1.3 ElasticSearch 202

7.2 消息队列 210

7.2.1 JEE专属的JMS 214

7.2.2 生生不息的ActiveMQ 219

7.2.3 RabbitMQ 223

7.2.4 Kafka 230

8章 微服务架构 236

8.1 微服务架构概述 236

8.1.1 微服务架构兴起的原因 237

8.1.2 不得不提的容器技术 238

8.1.3 如何全面理解微服务架构 241

8.2 几种常见的微服务架构方案 245

8.2.1 ZeroC IceGrid微服务架构 245

8.2.2 Spring Cloud微服务架构 248

8.2.3 基于消息队列的微服务架构 250

8.2.4 Docker Swarm微服务架构 251

8.3 深入Kubernetes微服务平台 253

8.3.1 Kubernetes的概念与功能 253

8.3.2 Kubernetes的组成与原理 258

8.3.3 基于Kubernetes的PaaS平台 262

8.4 从微服务到Service Mesh 280

8.4.1 Service Mesh之再见架构 280

8.4.2 Envoy核心实践入门 282

8.4.3 Istio背后的技术 286

8.4.4 Istio的架构演变 293



9章 架构实践 297

9.1 公益项目wuhansun实践 297

9.2 身边购平台实践 306

9.3 DIY一个有难度的分布式集 312


暂时没有目录,请见谅!