Kubernetes编程

Kubernetes编程
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Michael Hausenblas) , ,
2021-06
版次: 1
ISBN: 9787519854799
定价: 88.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 317页
26人买过
  •   如果你打算开发原生Kubernetes应用,《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层。   
    Michael Hausenblas是Amazon Web Service容器开发领域的倡导者。他拥有大规模数据处理和容器编排方面的经验,在倡导和实施W3C和IETF标准化方面有着丰富的经验。 
    Stefan Schimanski是Red Hat的Go、Kubernetes和Open-Shift首席软件工程师,他专注于Kubernetes API服务器及其在自定义资源定义、API Machinery方面的实现,以及Kubernetes预发布仓库的管理 
     目录
    前言 .1
    第1 章 概论 .7
    1.1 什么是Kubernetes 编程? .7
    1.2 一个实际的例子  10
    1.3 扩展模式  11
    1.4 控制器和Operator  12
    1.4.1 控制循环. 13
    1.4.2 事件  14
    1.4.3 边沿触发与水平触发  17
    1.4.4 改变集群对象或外部系统状态  20
    1.4.5 乐观并发. 23
    1.4.6 Operator  26
    1.5 小结  28
    第2 章 Kubernetes API 基础 .30
    2.1 API 服务器  30
    2.1.1 API 服务器的HTTP 接口  31
    2.1.2 API 术语 . 33
    2.1.3 Kubernetes API 版本 . 36
    2.1.4 声明式状态管理 . 37
    2.2 通过命令行使用API . 38
    2.3 API 服务器是如何处理请求的  43
    2.4 小结  47
    第3 章 client-go 基础 49
    3.1 代码仓库  49
    3.1.1 客户端库. 49
    3.1.2 Kubernetes API 类型 . 51
    3.1.3 API Machinery . 52
    3.1.4 创建并使用客户端对象  53
    3.1.5 版本与兼容性  56
    3.1.6 API 版本与兼容性保证  59
    3.2 Go 语言中的Kubernetes 对象  62
    3.2.1 TypeMeta  63
    3.2.2 ObjectMeta  67
    3.2.3 规格与状态  68
    3.3 客户端集合 . 68
    3.3.1 状态子资源:UpdateStatus  71
    3.3.2 列表与删除  71
    3.3.3 Watch  72
    3.3.4 客户端扩展  73
    3.3.5 客户端选项  73
    3.4 Informer 和缓存  75
    3.5 深入API Machinery 83
    3.5.1 型别  83
    3.5.2 资源  83
    3.5.3 REST 映射 . 84
    3.5.4 Scheme  86
    3.6 Vendor 机制  88
    3.6.1 glide  88
    3.6.2 dep . 89
    3.6.3 Go 模块  90
    3.7 小结  92
    第4 章 使用自定义资源 93
    4.1 服务发现信息  95
    4.2 类型定义  97
    4.3 自定义资源的高级功能 . 100
    4.3.1 自定义资源合法性验证  100
    4.3.2 短名字与类别  103
    4.3.3 打印列  104
    4.3.4 子资源  106
    4.4 开发者眼中的自定义资源 . 111
    4.4.1 动态客户端 . 112
    4.4.2 强类型客户端  114
    4.4.3 Operator SDK 和Kubebuilder 的controller-runtime 客户端  121
    4.5 小结 . 123
    第5 章 自动代码生成  124
    5.1 为何需要代码生成器  124
    5.2 调用代码生成器  125
    5.3 通过标签控制代码生成器行为  127
    5.3.1 全局标签 128
    5.3.2 局部标签 129
    5.3.3 deepcopy-gen 标签  131
    5.3.4 runtime.Object 与DeepCopyObject  131
    5.3.5 client-gen 标签  133
    5.3.6 informer-gen 和lister-gen  135
    5.4 小结 . 136
    第6 章 编写Operator 的方案  137
    6.1 准备工作  138
    6.2 基于sample-controller  138
    6.2.1 引导  139
    6.2.2 业务逻辑 140
    6.3 Kubebuilder . 148
    6.3.1 引导  149
    6.3.2 业务逻辑 155
    6.4 Operator SDK . 160
    6.4.1 引导  161
    6.4.2 业务逻辑 163
    6.5 其他方案  167
    6.6 应用和未来的方向  168
    6.7 小结 . 169
    第7 章 发布控制器和Operator  170
    7.1 生命周期管理和打包  170
    7.1.1 打包:挑战 . 171
    7.1.2 Helm  172
    7.1.3 Kustomize  174
    7.1.4 其他打包方法  176
    7.1.5 打包的最佳实践  177
    7.1.6 生命周期管理  178
    7.2 准生产部署  179
    7.2.1 将权限设置正确  179
    7.2.2 自动构建与测试  183
    7.2.3 自定义控制器和可观测性  184
    7.3 小结 . 187
    第8 章 自定义API 服务器 . 189
    8.1 自定义API 服务器的适用场景  189
    8.2 示例:一个披萨店  192
    8.3 架构:聚合  193
    8.3.1 API 服务  195
    8.3.2 自定义API 服务器的内部结构  198
    8.3.3 委托身份认证和信任机制  200
    8.3.4 委托授权 201
    8.4 开发自定义API 服务器 . 204
    8.4.1 选项、配置模式和启动基础设施  204
    8.4.2 第一次启动 . 213
    8.4.3 内部类型和转换  214
    8.4.4 编写API 类型  218
    8.4.5 转换  220
    8.4.6 默认值处理 . 224
    8.4.7 双程测试 226
    8.4.8 验证  228
    8.4.9 注册表与策略  231
    8.4.10 安装API  237
    8.4.11 准入 . 242
    8.5 部署自定义API 服务器 . 253
    8.5.1 部署清单文件  254
    8.5.2 设置RBAC . 257
    8.5.3 不安全地运行自定义API 服务器  259
    8.5.4 证书与信任 . 262
    8.5.5 共享etcd  265
    8.6 小结 . 266
    第9 章 自定义资源进阶 . 268
    9.1 自定义资源版本  268
    9.1.1 改进披萨餐厅  269
    9.1.2 转换Webhook 架构  273
    9.1.3 实现转换Webhook . 277
    9.1.4 搭建HTTPS 服务器  278
    9.1.5 部署转换Webhook . 285
    9.1.6 观察实际转换过程  286
    9.2 准入Webhook . 290
    9.2.1 餐馆示例中的准入需求  291
    9.2.2 准入Webhook 架构  292
    9.2.3 注册准入Webhook . 295
    9.2.4 实现准入Webhook . 296
    9.2.5 准入Webhook 实战  302
    9.3 结构化Schema 与CRD 的未来 . 304
    9.3.1 结构化Schema . 305
    9.3.2 剪裁或保留不能识别的字段  307
    9.3.3 控制剪裁 308
    9.3.4 IntOrString 和RawExtensions  310
    9.3.5 默认值  311
    9.4 小结 . 313
    附录 资源 . 315
    作者介绍  319
    封面介绍  319
  • 内容简介:
      如果你打算开发原生Kubernetes应用,《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层。
  • 作者简介:
      
    Michael Hausenblas是Amazon Web Service容器开发领域的倡导者。他拥有大规模数据处理和容器编排方面的经验,在倡导和实施W3C和IETF标准化方面有着丰富的经验。 
    Stefan Schimanski是Red Hat的Go、Kubernetes和Open-Shift首席软件工程师,他专注于Kubernetes API服务器及其在自定义资源定义、API Machinery方面的实现,以及Kubernetes预发布仓库的管理 
  • 目录:
     目录
    前言 .1
    第1 章 概论 .7
    1.1 什么是Kubernetes 编程? .7
    1.2 一个实际的例子  10
    1.3 扩展模式  11
    1.4 控制器和Operator  12
    1.4.1 控制循环. 13
    1.4.2 事件  14
    1.4.3 边沿触发与水平触发  17
    1.4.4 改变集群对象或外部系统状态  20
    1.4.5 乐观并发. 23
    1.4.6 Operator  26
    1.5 小结  28
    第2 章 Kubernetes API 基础 .30
    2.1 API 服务器  30
    2.1.1 API 服务器的HTTP 接口  31
    2.1.2 API 术语 . 33
    2.1.3 Kubernetes API 版本 . 36
    2.1.4 声明式状态管理 . 37
    2.2 通过命令行使用API . 38
    2.3 API 服务器是如何处理请求的  43
    2.4 小结  47
    第3 章 client-go 基础 49
    3.1 代码仓库  49
    3.1.1 客户端库. 49
    3.1.2 Kubernetes API 类型 . 51
    3.1.3 API Machinery . 52
    3.1.4 创建并使用客户端对象  53
    3.1.5 版本与兼容性  56
    3.1.6 API 版本与兼容性保证  59
    3.2 Go 语言中的Kubernetes 对象  62
    3.2.1 TypeMeta  63
    3.2.2 ObjectMeta  67
    3.2.3 规格与状态  68
    3.3 客户端集合 . 68
    3.3.1 状态子资源:UpdateStatus  71
    3.3.2 列表与删除  71
    3.3.3 Watch  72
    3.3.4 客户端扩展  73
    3.3.5 客户端选项  73
    3.4 Informer 和缓存  75
    3.5 深入API Machinery 83
    3.5.1 型别  83
    3.5.2 资源  83
    3.5.3 REST 映射 . 84
    3.5.4 Scheme  86
    3.6 Vendor 机制  88
    3.6.1 glide  88
    3.6.2 dep . 89
    3.6.3 Go 模块  90
    3.7 小结  92
    第4 章 使用自定义资源 93
    4.1 服务发现信息  95
    4.2 类型定义  97
    4.3 自定义资源的高级功能 . 100
    4.3.1 自定义资源合法性验证  100
    4.3.2 短名字与类别  103
    4.3.3 打印列  104
    4.3.4 子资源  106
    4.4 开发者眼中的自定义资源 . 111
    4.4.1 动态客户端 . 112
    4.4.2 强类型客户端  114
    4.4.3 Operator SDK 和Kubebuilder 的controller-runtime 客户端  121
    4.5 小结 . 123
    第5 章 自动代码生成  124
    5.1 为何需要代码生成器  124
    5.2 调用代码生成器  125
    5.3 通过标签控制代码生成器行为  127
    5.3.1 全局标签 128
    5.3.2 局部标签 129
    5.3.3 deepcopy-gen 标签  131
    5.3.4 runtime.Object 与DeepCopyObject  131
    5.3.5 client-gen 标签  133
    5.3.6 informer-gen 和lister-gen  135
    5.4 小结 . 136
    第6 章 编写Operator 的方案  137
    6.1 准备工作  138
    6.2 基于sample-controller  138
    6.2.1 引导  139
    6.2.2 业务逻辑 140
    6.3 Kubebuilder . 148
    6.3.1 引导  149
    6.3.2 业务逻辑 155
    6.4 Operator SDK . 160
    6.4.1 引导  161
    6.4.2 业务逻辑 163
    6.5 其他方案  167
    6.6 应用和未来的方向  168
    6.7 小结 . 169
    第7 章 发布控制器和Operator  170
    7.1 生命周期管理和打包  170
    7.1.1 打包:挑战 . 171
    7.1.2 Helm  172
    7.1.3 Kustomize  174
    7.1.4 其他打包方法  176
    7.1.5 打包的最佳实践  177
    7.1.6 生命周期管理  178
    7.2 准生产部署  179
    7.2.1 将权限设置正确  179
    7.2.2 自动构建与测试  183
    7.2.3 自定义控制器和可观测性  184
    7.3 小结 . 187
    第8 章 自定义API 服务器 . 189
    8.1 自定义API 服务器的适用场景  189
    8.2 示例:一个披萨店  192
    8.3 架构:聚合  193
    8.3.1 API 服务  195
    8.3.2 自定义API 服务器的内部结构  198
    8.3.3 委托身份认证和信任机制  200
    8.3.4 委托授权 201
    8.4 开发自定义API 服务器 . 204
    8.4.1 选项、配置模式和启动基础设施  204
    8.4.2 第一次启动 . 213
    8.4.3 内部类型和转换  214
    8.4.4 编写API 类型  218
    8.4.5 转换  220
    8.4.6 默认值处理 . 224
    8.4.7 双程测试 226
    8.4.8 验证  228
    8.4.9 注册表与策略  231
    8.4.10 安装API  237
    8.4.11 准入 . 242
    8.5 部署自定义API 服务器 . 253
    8.5.1 部署清单文件  254
    8.5.2 设置RBAC . 257
    8.5.3 不安全地运行自定义API 服务器  259
    8.5.4 证书与信任 . 262
    8.5.5 共享etcd  265
    8.6 小结 . 266
    第9 章 自定义资源进阶 . 268
    9.1 自定义资源版本  268
    9.1.1 改进披萨餐厅  269
    9.1.2 转换Webhook 架构  273
    9.1.3 实现转换Webhook . 277
    9.1.4 搭建HTTPS 服务器  278
    9.1.5 部署转换Webhook . 285
    9.1.6 观察实际转换过程  286
    9.2 准入Webhook . 290
    9.2.1 餐馆示例中的准入需求  291
    9.2.2 准入Webhook 架构  292
    9.2.3 注册准入Webhook . 295
    9.2.4 实现准入Webhook . 296
    9.2.5 准入Webhook 实战  302
    9.3 结构化Schema 与CRD 的未来 . 304
    9.3.1 结构化Schema . 305
    9.3.2 剪裁或保留不能识别的字段  307
    9.3.3 控制剪裁 308
    9.3.4 IntOrString 和RawExtensions  310
    9.3.5 默认值  311
    9.4 小结 . 313
    附录 资源 . 315
    作者介绍  319
    封面介绍  319
查看详情
相关图书 / 更多
Kubernetes编程
Kubernetes实战:构建生产级应用平台
[美]约翰·哈里斯 著;[美]乔希·罗索;[美]里奇·兰德;[美]亚历山大·布兰德
Kubernetes编程
Kubernetes修炼手册
[英]奈吉尔·波尔顿(Nigel Poulton)
Kubernetes编程
Kubernetes操作器
[美]詹森·多比斯(Jason Dobies);[美]约书亚·伍德(Joshua Wood);马晶慧
Kubernetes编程
Kubernetes原生微服务开发
肯·芬尼根(Ken Finnigan)著 陈计节 张圣奇 译;[美]约翰·克林甘(John Clingan)
Kubernetes编程
Kubernetes快速进阶与实战
艾叔
Kubernetes编程
Kubernetes从入门到DevOps企业应用实战
韩先超
Kubernetes编程
Kubernetes Operator开发进阶
胡涛(Daniel Hu) 编著
Kubernetes编程
Kubernetes快速入门
[英]奈吉尔·波尔顿(Nigel Poulton)
Kubernetes编程
Kubeflow学习指南:生产级机器学习系统实现
[美]特雷弗·格兰特 (加)霍尔顿·卡劳 (俄)鲍里斯·卢布林斯基 (美)理查德·刘 (美)伊兰·菲洛年科
Kubernetes编程
Kubernetes权威指南:从Docker到Kubernetes实践全接触(第5版)
龚正
Kubernetes编程
Kubernetes即学即用(第二版)
布兰登·柏恩思;乔·贝达;凯尔西·海托华;马晶慧
Kubernetes编程
Kubernetes零基础快速入门
张春晓
您可能感兴趣 / 更多
Kubernetes编程
无辜者的谎言(相信我!看到结局你一定会头皮发麻;全美读者推荐的悬疑神作,GOODREADS高分作品)
[美]A.R.托雷 著;梁颂宇 译;星文文化 出品
Kubernetes编程
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
Kubernetes编程
哲学、历史与僭政——重审施特劳斯与科耶夫之争
[美]弗罗斯特(Bryan-Paul Frost) 编;[美]伯恩斯(Timothy W. Burns)
Kubernetes编程
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
Kubernetes编程
力量训练的科学基础与实践应用(第三版)
[美]弗拉基米尔· M.扎齐奥尔斯基;[美]威廉·J.克雷默;[美]安德鲁· C.弗赖伊
Kubernetes编程
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
Kubernetes编程
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
Kubernetes编程
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
Kubernetes编程
最后一章
[美]厄尼·派尔
Kubernetes编程
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
Kubernetes编程
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
Kubernetes编程
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译