龚正 / 惠普公司高级顾问
拥有十多年的IT从业经验,具备丰富的云计算、大数据分析和大型企业级应用的架构设计和实施经验,是电信、金融、互联网等领域的资深专家。
吴治辉 / 惠普公司资深架构师
拥有超过15年的软件研发经验,专注于电信软件和云计算方面的软件研发,拥有丰富的大型项目架构设计经验,是业界少有的具备很强Coding能力的S级资深架构师,也是《ZeroC Ice权威指南》的作者。
王伟 / 惠普公司资深系统架构师、大数据和云计算技术专家
拥有多年IT行业从业经验,参与过多个大型应用的架构设计、系统开发和实施落地,精通大数据、云计算及大型系统架构和开发的相关技术,对互联网和电信行业的热点技术有着深刻的理解,是云计算和大数据方面的技术专家。
崔秀龙 / 惠普公司资深架构师
开源软件、自动化爱好者,拥有十多年从业经验,对软件生命周期的各个环节均有深刻的理解。
闫健勇 / 惠普公司高级项目经理、总构架师
拥有超过15年的电信行业系统建设经验,主导了多项电信大型系统的架构设计和管理,对于云计算和大数据在电信行业中的应用拥有丰富的经验。
崔晓宁 / 惠普公司高级顾问
拥有超过7年的测试咨询和质量管理经验,在云计算、大数据和分布式运算架构下的业务质量控制方面有非常丰富的项目实践和心得,并对推动组织架构优化有丰富的经验。帮助多个超过百人的大型项目建立软件产品管理规范和体系,并对其运营提供指导。
刘晓红 / 惠普公司高级咨询顾问
拥有超过10年的电信行业从业经验,亲历中国移动BSS/OSS领域核心系统的建设发展历程,具备丰富的咨询规划、需求分析、产品设计、项目管理、测试管理经验,专注于云计算、大数据等前沿技术的研究。
第1章 Kubernetes 入门 1
1.1 Kubernetes 是什么 1
1.2 为什么要用Kubernetes 4
1.3 从一个简单的例子开始 5
1.3.1 环境准备 6
1.3.2 启动MySQL 服务 7
1.3.3 启动Tomcat 应用 9
1.3.4 通过浏览器访问网页 11
1.4 Kubernetes 基本概念和术语 12
1.4.1 Master 12
1.4.2 Node 13
1.4.3 Pod 15
1.4.4 Label(标签) 19
1.4.5 Replication Controller(RC) 22
1.4.6 Deployment 25
1.4.7 Horizontal Pod Autoscaler(HPA) 27
1.4.8 Service(服务) 29
1.4.9 Volume(存储卷) 35
1.4.10 Persistent Volume 39
1.4.11 Namespace(命名空间) 40
1.4.12 Annotation(注解) 42
1.4.13 小结 42
第2章 Kubernetes 实践指南 43
2.1 Kubernetes 安装与配置 43
2.1.1 安装Kubernetes 43
2.1.2 配置和启动Kubernetes 服务 45
2.1.3 Kubernetes 集群的安全设置 51
2.1.4 Kubernetes 的版本升级 57
2.1.5 内网中的Kubernetes 相关配置 57
2.1.6 Kubernetes 核心服务配置详解 58
2.1.7 Kubernetes 集群网络配置方案 72
2.2 kubectl 命令行工具用法详解 80
2.2.1 kubectl 用法概述 80
2.2.2 kubectl 子命令详解 82
2.2.3 kubectl 参数列表 84
2.2.4 kubectl 输出格式 84
2.2.5 kubectl 操作示例 86
2.3 Guestbook 示例:Hello World 87
2.3.1 创建redis-master RC 和Service 89
2.3.2 创建redis-slave RC 和Service 91
2.3.3 创建frontend RC 和Service 93
2.3.4 通过浏览器访问frontend 页面 96
2.4 深入掌握Pod 97
2.4.1 Pod 定义详解 97
2.4.2 Pod 的基本用法 102
2.4.3 静态Pod 107
2.4.4 Pod 容器共享Volume 108
2.4.5 Pod 的配置管理 110
2.4.6 Pod 生命周期和重启策略 123
2.4.7 Pod 健康检查 124
2.4.8 玩转Pod 调度 126
2.4.9 Pod 的扩容和缩容 135
2.4.10 Pod 的滚动升级 139
2.5 深入掌握Service 143
2.5.1 Service 定义详解 143
2.5.2 Service 基本用法 145
2.5.3 集群外部访问Pod 或Service 150
2.5.4 DNS 服务搭建指南 153
2.5.5 Ingress:HTTP 7 层路由机制 161
第3章 Kubernetes 核心原理 165
3.1 Kubernetes API Server 原理分析 165
3.1.1 Kubernetes API Server 概述 165
3.1.2 独特的Kubernetes Proxy API 接口 168
3.1.3 集群功能模块之间的通信 169
3.2 Controller Manager 原理分析 170
3.2.1 Replication Controller 171
3.2.2 Node Controller 173
3.2.3 ResourceQuota Controller 174
3.2.4 Namespace Controller 176
3.2.5 Service Controller 与Endpoint Controller 176
3.3 Scheduler 原理分析 177
3.4 kubelet 运行机制分析 181
3.4.1 节点管理 181
3.4.2 Pod 管理 182
3.4.3 容器健康检查 183
3.4.4 cAdvisor 资源监控 184
3.5 kube-proxy 运行机制分析 186
3.6 深入分析集群安全机制 190
3.6.1 API Server 认证 190
3.6.2 API Server 授权 192
3.6.3 Admission Control 准入控制 194
3.6.4 Service Account 195
3.6.5 Secret 私密凭据 200
3.7 网络原理 203
3.7.1 Kubernetes 网络模型 203
3.7.2 Docker 的网络基础 205
3.7.3 Docker 的网络实现 217
3.7.4 Kubernetes 的网络实现 225
3.7.5 开源的网络组件 229
3.7.6 网络实战 234
第4章 Kubernetes 开发指南 247
4.1 REST 简述 247
4.2 Kubernetes API 详解 249
4.2.1 Kubernetes API 概述 249
4.2.2 API 版本 254
4.2.3 API 详细说明 254
4.2.4 API 响应说明 256
4.3 使用Java 程序访问Kubernetes API 258
4.3.1 Jersey 258
4.3.2 Fabric8 270
4.3.3 使用说明 271
第5章 Kubernetes 运维指南 292
5.1 Kubernetes 集群管理指南 292
5.1.1 Node 的管理 292
5.1.2 更新资源对象的Label 294
5.1.3 Namespace:集群环境共享与隔离 295
5.1.4 Kubernetes 资源管理 299
5.1.5 Kubernetes 集群高可用部署方案 333
5.1.6 Kubernetes 集群监控 343
5.1.7 kubelet 的垃圾回收(GC)机制 361
5.2 Kubernetes 高级案例 362
5.2.1 ElasticSearch 日志搜集查询和展现案例 362
5.2.2 Cassandra 集群部署案例 371
5.3 Trouble Shooting 指导 376
5.3.1 查看系统Event 事件 377
5.3.2 查看容器日志 379
5.3.3 查看Kubernetes 服务日志 379
5.3.4 常见问题 381
5.3.5 寻求帮助 384
5.4 Kubernetes v1.3 开发中的新功能 385
5.4.1 Pet Set(有状态的容器) 385
5.4.2 Init Container(初始化容器) 388
5.4.3 Cluster Federation(集群联邦) 391
第6章 Kubernetes 源码导读 396
6.1 Kubernetes 源码结构和编译步骤 396
6.2 kube-apiserver 进程源码分析 400
6.2.1 进程启动过程 400
6.2.2 关键代码分析 402
6.2.3 设计总结 417
6.3 kube-controller-manager 进程源码分析 420
6.3.1 进程启动过程 420
6.3.2 关键代码分析 423
6.3.3 设计总结 431
6.4 kube-scheduler 进程源码分析 433
6.4.1 进程启动过程 434
6.4.2 关键代码分析 438
6.4.3 设计总结 445
6.5 kubelet 进程源码分析 447
6.5.1 进程启动过程 447
6.5.2 关键代码分析 452
6.5.3 设计总结 475
6.6 kube-proxy 进程源码分析 476
6.6.1 进程启动过程 476
6.6.2 关键代码分析 478
6.6.3 设计总结 493
6.7 kubectl 进程源码分析 494
6.7.1 kubectl create 命令 495
6.7.2 rolling-update 命令 499
后记 505
《基于Kubernetes的DevOps实践:容器加速软件交付》内容简介:容器化被认为是实现DevOps的最佳方式。谷歌开发了Kubernetes,它有效
《人人可懂的数据科学》内容简介:数据科学的主要目标就是通过数据分析来改进决策,它与数据挖掘、机器学习等领域紧密相关,但范围
《神经科学研究与进展•神经科学MATLAB教程:MATLAB科学计算导论(英文)(导读版)》内容简介:作为科学计算的数学软件,Matlab被广泛
《叶秀山全集·第九卷》内容简介:本选题分类结集叶秀山先生全部已经出版的专著,在学术期刊上发表的所有论文,以及部分笔记、札记
《我们今天怎样做父亲》内容简介:回望晚清民国,我们发现了一个教育的传奇:一个偏僻的小山村,一个寒素之家,竟然诞生出了中国近
《京津冀区域发展报告(2012)》内容简介:《京津冀区域发展报告(2012)》分为综合篇、区域篇和专题篇。其中,综合篇从总结京津冀
数控编程技术228例 本书特色 本书对228个数控机床编程与造型实例进行了分析和讲解,每个编程实例的主要内容有零件分析、工艺分析、工件坐标系的设定、编制加工程序...
《穿透式学习》内容简介:在数字时代,随着知识更迭速度的加快,学习变成了每一个职场人士必须终身面对的首要事情。高效工作的前提
世界科技界领袖级人物、掌上电脑PDA发明人杰夫•霍金斯经典力著全新升级版。详细揭示未来主流大趋势,比大数据更能决定我们生活的是
《Lua 程序设计(第4版)》内容简介:本书由Lua语言作者亲自撰写,针对Lua语言本身由浅入深地从各个方面进行了完整和细致的讲解。作
《中国外资银行百年史(1845-1949)》内容简介:近代中国的外资银行是指以完全或部分外国资本在中国境内经营银行业务的金融机构,包
《被颠覆的汽车帝国:中国汽车电商与车联网生态报告》内容简介:本书对移动互联网时代下的车企的现状及当代车企的营销活动进行了深
R语言预测实战 本书特色 R语言具有上手快、效率高的特点,它横跨金融、生物、医学、互联网等多个领域,主要用于统计、建模及可视化。预测是数据挖掘的主要作用之一,也...
《蔬果岁时记》内容简介:青葱、竹笋、苦瓜、南瓜、青梅、文旦、甘蔗、橙子……这些绿色蔬果,天然代表了健康和环保,体现了中华美
《交换技术》系统介绍了交换技术的基本概念和工作原理,着重讨论当前通信网各种基本的交换技术,以循序渐进的方式和比较分析的观
《突破》内容简介:本书第一、二章侧重从理论角度分享有关TOC理论的定义和基本介绍;第三章为读者演绎TOC理论在工业制造企业的实际
本书结合理论知识和实例程序,全面而系统地介绍了Objective-C编程的相关内容,包括类和继承、对象的类型和动态绑定、基于引用计数
创意字体与标志设计 本书特色 创意字体作为视觉信息传达的一部分,在大众传媒、企业形象、商品包装、橱窗及店面设计等方面,显示出越来越重要的作用。在字体的设计中,有...
浪潮之巅:全2册 本书特色 《浪潮之巅(第3版)》不是一本科技产业发展历史集,而是在这个数字时代,一本it人非读不可,而非it人也应该拜读的作品。一个企业的发展...
《论语译注》内容简介:从汉代郑玄为《论语》做注开始直到当代,《论语》的注本层出不穷,其中朱熹的《论语集注》、刘宝楠的《论语