Kubernetes编程
Michael Hausenblas, Stefan Schimanski
李凡希, 任震宇 译
出版时间:2021年06月
页数:317
如果你打算开发原生Kubernetes应用,本书将成为你最好的向导。本书面向开发者和应用运维管理员介绍如何构建原生Kubernetes应用程序,这类应用可直接通过API服务器查询或更新资源的状态。AWS开发倡导者Michael Hausenblas和Red Hat首席软件工程师Stefan Schimanski将介绍这类应用的特性并向你展示如何编写Kubernetes程序来构建它们。
你将学到Kubernetes的基础构件,包括client-go API库以及自定义资源。你只需要具备一些初级的开发知识和系统管理工具和实践经验(包括包管理、Go语言和Git)即可上手。
● 介绍了Kubernetes API的基础知识并深入讲解API服务器的内部结构。
● 学习Go语言的Kubernetes编程接口,包括Kubernetes API对象。
● 学习自定义资源,它是Kubernetes生态系统中最核心的扩展工具。
● 使用代码标签控制Kubernetes代码生成器为自定义资源生成代 码时的行为。
● 编写自定义的控制器和Operator,并为部署到生产环境中做好准备。
● 通过自定义API服务器,扩展Kubernetes的API层。
  1. 前言
  2. 第1章 概论
  3. 1.1 什么是Kubernetes编程?
  4. 1.2 一个实际的例子
  5. 1.3 扩展模式
  6. 1.4 控制器和Operator
  7. 1.4.1 控制循环
  8. 1.4.2 事件
  9. 1.4.3 边沿触发与水平触发
  10. 1.4.4 改变集群对象或外部系统状态
  11. 1.4.5 乐观并发
  12. 1.4.6 Operator
  13. 1.5 小结
  14. 第2章 Kubernetes API基础
  15. 2.1 API服务器
  16. 2.1.1 API服务器的HTTP接口
  17. 2.1.2 API术语
  18. 2.1.3 Kubernetes API版本
  19. 2.1.4 声明式状态管理
  20. 2.2 通过命令行使用API
  21. 2.3 API 服务器是如何处理请求的
  22. 2.4 小结
  23. 第3章 client-go基础
  24. 3.1 代码仓库
  25. 3.1.1 客户端库
  26. 3.1.2 Kubernetes API类型
  27. 3.1.3 API Machinery
  28. 3.1.4 创建并使用客户端对象
  29. 3.1.5 版本与兼容性
  30. 3.1.6 API版本与兼容性保证
  31. 3.2 Go语言中的Kubernetes对象
  32. 3.2.1 TypeMeta
  33. 3.2.2 ObjectMeta
  34. 3.2.3 规格与状态
  35. 3.3 客户端集合
  36. 3.3.1 状态子资源:UpdateStatus
  37. 3.3.2 列表与删除
  38. 3.3.3 Watch
  39. 3.3.4 客户端扩展
  40. 3.3.5 客户端选项
  41. 3.4 Informer和缓存
  42. 3.5 深入API Machinery
  43. 3.5.1 型别
  44. 3.5.2 资源
  45. 3.5.3 REST映射
  46. 3.5.4 Scheme
  47. 3.6 Vendor机制
  48. 3.6.1 glide
  49. 3.6.2 dep
  50. 3.6.3 Go模块
  51. 3.7 小结
  52. 第4章 使用自定义资源
  53. 4.1 服务发现信息
  54. 4.2 类型定义
  55. 4.3 自定义资源的高级功能
  56. 4.3.1 自定义资源合法性验证
  57. 4.3.2 短名字与类别
  58. 4.3.3 打印列
  59. 4.3.4 子资源
  60. 4.4 开发者眼中的自定义资源
  61. 4.4.1 动态客户端
  62. 4.4.2 强类型客户端
  63. 4.4.3 Operator SDK和Kubebuilder的controller-runtime客户端
  64. 4.5 小结
  65. 第5章 自动代码生成
  66. 5.1 为何需要代码生成器
  67. 5.2 调用代码生成器
  68. 5.3 通过标签控制代码生成器行为
  69. 5.3.1 全局标签
  70. 5.3.2 局部标签
  71. 5.3.3 deepcopy-gen标签
  72. 5.3.4 runtime.Object与DeepCopyObject
  73. 5.3.5 client-gen标签
  74. 5.3.6 informer-gen和lister-gen
  75. 5.4 小结
  76. 第6章 编写Operator的方案
  77. 6.1 准备工作
  78. 6.2 基于sample-controller
  79. 6.2.1 引导
  80. 6.2.2 业务逻辑
  81. 6.3 Kubebuilder
  82. 6.3.1 引导
  83. 6.3.2 业务逻辑
  84. 6.4 Operator SDK
  85. 6.4.1 引导
  86. 6.4.2 业务逻辑
  87. 6.5 其他方案
  88. 6.6 应用和未来的方向
  89. 6.7 小结
  90. 第7章 发布控制器和Operator
  91. 7.1 生命周期管理和打包
  92. 7.1.1 打包:挑战
  93. 7.1.2 Helm
  94. 7.1.3 Kustomize
  95. 7.1.4 其他打包方法
  96. 7.1.5 打包的最佳实践
  97. 7.1.6 生命周期管理
  98. 7.2 准生产部署
  99. 7.2.1 将权限设置正确
  100. 7.2.2 自动构建与测试
  101. 7.2.3 自定义控制器和可观测性
  102. 7.3 小结
  103. 第8章 自定义API服务器
  104. 8.1 自定义API服务器的适用场景
  105. 8.2 示例:一个披萨店
  106. 8.3 架构:聚合
  107. 8.3.1 API服务
  108. 8.3.2 自定义API服务器的内部结构
  109. 8.3.3 委托身份认证和信任机制
  110. 8.3.4 委托授权
  111. 8.4 开发自定义API服务器
  112. 8.4.1 选项、配置模式和启动基础设施
  113. 8.4.2 第一次启动
  114. 8.4.3 内部类型和转换
  115. 8.4.4 编写API类型
  116. 8.4.5 转换
  117. 8.4.6 默认值处理
  118. 8.4.7 双程测试
  119. 8.4.8 验证
  120. 8.4.9 注册表与策略
  121. 8.4.10 安装API
  122. 8.4.11 准入
  123. 8.5 部署自定义API服务器
  124. 8.5.1 部署清单文件
  125. 8.5.2 设置RBAC
  126. 8.5.3 不安全地运行自定义API服务器
  127. 8.5.4 证书与信任
  128. 8.5.5 共享etcd
  129. 8.6 小结
  130. 第9章 自定义资源进阶
  131. 9.1 自定义资源版本
  132. 9.1.1 改进披萨餐厅
  133. 9.1.2 转换Webhook架构
  134. 9.1.3 实现转换Webhook
  135. 9.1.4 搭建HTTPS服务器
  136. 9.1.5 部署转换Webhook
  137. 9.1.6 观察实际转换过程
  138. 9.2 准入Webhook
  139. 9.2.1 餐馆示例中的准入需求
  140. 9.2.2 准入Webhook架构
  141. 9.2.3 注册准入Webhook
  142. 9.2.4 实现准入Webhook
  143. 9.2.5 准入Webhook实战
  144. 9.3 结构化Schema与CRD的未来
  145. 9.3.1 结构化Schema
  146. 9.3.2 剪裁或保留不能识别的字段
  147. 9.3.3 控制剪裁
  148. 9.3.4 IntOrString和RawExtensions
  149. 9.3.5 默认值
  150. 9.4 小结
  151. 附录 资源
书名:Kubernetes编程
译者:李凡希, 任震宇 译
国内出版社:中国电力出版社
出版时间:2021年06月
页数:317
书号:978-7-5198-5479-9
原版书书名:Programming Kubernetes
原版书出版商:O'Reilly Media
Michael Hausenblas
 
Michael Hausenblas是Go、Kubernetes和Red Hat的OpenShift的先驱开发者,他帮助AppOps构建和运行分布式服务。他有大规模数据处理和容器编排的背景,他在W3C和IETF的倡导和标准化方面有着丰富的经验。在Red Hat之前,Michael曾在Mesosphere、MapR以及爱尔兰和奥地利的两个研究机构工作。他贡献开源软件(主要是使用Go),博客,并经常活跃在Twitter上。

Michael是Amazon Web Service容器开发领域的倡导者。
 
 
Stefan Schimanski
 
Stefan Schimanski是Red Hat的Go、Kubernetes和Open-Shift首席软件工程师,他专注于Kubernetes API服务器及其在自定义资源定义、API Machinery方面的实现,以及Kubernetes预发布仓库的管理。
 
 
购买选项
定价:88.00元
书号:978-7-5198-5479-9
出版社:中国电力出版社