商品详情
书名:Kubeflow学习手册
书号:978-7-5239-1122-8
定价:98元
作者:[美]乔希·帕特森(Josh Patterson)[美]迈克尔·卡岑埃伦博根(Michael Katzenellenbogen)[美]奥斯汀·哈里斯(Austin Harris) 著 黄俊彬 译
出版时间:2026-04-29
出版社:中国电力出版社
页码: 308 字数(千字):302
开本:特16开 版次:1 印次:1
品牌介绍
中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。
编辑推荐
编辑推荐 在部署机器学习应用时,模型构建只是整个流程的一小部分。完整过程涉及开发、编排、部署和运行可扩展且可移植的机器学习工作负载,而Kubeflow能显著简化这一流程。这本实用指南向数据科学家、数据工程师和平台架构师展示如何规划并实施Kubeflow项目,使Kubernetes工作流兼具可移植性与可扩展性。 本书作者演示了这个开源平台如何通过管理机器学习流水线来编排工作流。你将学习如何规划并搭建一个支持从本地部署到云端(包括Google、Amazon和Microsoft等平台)全流程的Kubeflow平台。 专家推荐 “本书是企业在从本地到云端部署Kubeflow的权威指南。它不仅深入剖析了Kubeflow的运维层面,更系统地指导团队如何将平台与基础设施(包括GPU资源与身份管理系统)进行深度整合。” ——Jeremy Lewi Kubeflow联合创始人 Primer首席软件工程师 “对于希望将Kubeflow从实验环境升级至企业级应用的团队而言,这本著作提供了不可或缺的实践智慧。” ——David Aronchick Kubeflow联合创始人
作者介绍
Josh Patterson是Patterson Consulting首席执行官,合著有《Deep Learning: A Practitioner’s Approach》(O'Reilly)。Michael Katzenellenbogen是独立咨询师,专注于为企业提供Kubernetes和Kubeflow等技术解决方案。Austin Harris是分布式系统工程师,精通Apache Kafka与分布式系统架构。
内容介绍
本书的主要内容有:深入解析Kubeflow架构,掌握平台使用的最佳实践。了解Kubeflow部署的规划流程。在现有本地Kubernetes集群上安装Kubeflow。在Google云平台、AWS和Azure上部署Kubeflow。使用KFServing开发并部署机器学习模型。
本书适用于本书主要面向DevOps和MLOps团队,内容涵盖Kubeflow的架构和运维管理,帮助团队了解机器学习平台架构的权衡因素,以便做出更明智的技术决策。此外,数据科学家也可将本书作为参考材料。
前言
前言
本书的主要内容
本书重点介绍了在Kubeflow 部署与运维中的DevOps 和MLOps 相关内容。作者认为,这部分内容对当今的DevOps/MLOps 团队来说非常重要且极具价值,因为该领域仍在不断发展。目前,不同的机器学习平台在架构和解决方案方面采取了不同的策略,而如何全面考虑机器学习平台的运维问题,正是本书第1章所探讨的核心内容。
本书从机器学习基础设施的现状入手,分析企业团队面临的挑战和权衡因素,然后介绍支持MLOps 生命周期所需的核心原则,并探讨Kubernetes 在其中的作用。此外,本书还介绍了Kubernetes 在MLOps 领域仍然存在的功能缺口,以及Kubeflow 如何弥补这些不足,从而构建完整的MLOps 解决方案。
本书主要分为三个部分。第一部分(第1 ~ 3 章)介绍Kubeflow 的核心概念和架构。
第1 章探讨机器学习平台架构,包括Kubernetes 的优势以及Kubeflow 在Kubernetes 之上的增值。第2 章讲解Kubeflow 的架构。第3 章指导Kubeflow部署规划。
第二部分(第4 ~ 7 章)介绍如何安装Kubeflow 1.0.2,包括本地部署以及三大云平台(Google Cloud Platform、Amazon Web Services、Microsoft Azure)的安装方法。这部分内容可供工程师参考,按需跳读相关章节。
第三部分(第8 章)介绍Kubeflow 的模型推理部署,重点讲解KFServing。讨论模型推理相关的核心概念,包括如何将训练好的模型集成到生产应用中,并深入探讨KFServing 的工作机制。
此外,附录部分介绍了基础设施核心概念、Istio 及控制平面,以及Kubernetes相关的核心概念。
值得注意的是,本书不涉及具体的机器学习案例,因为已有许多书籍专门涵盖了该主题。
本书适合谁阅读
本书主要面向DevOps 和MLOps 团队,内容涵盖Kubeflow 的架构和运维管理,帮助团队了解机器学习平台架构的权衡因素,以便做出更明智的技术决策。
此外, 数据科学家也可将本书作为背景参考材料。虽然书中涉及较多Kubernetes 和身份管理相关内容,可能不太符合数据科学家的核心兴趣,但通过耐心阅读,他们可以更好地理解Kubeflow 的底层工作原理,从而成为更有见解的Kubeflow 用户。
本书假设读者已经熟悉基本的Kubernetes 概念,并具备机器学习开发经验。
排版约定
本书采用以下排版约定。
斜体(Italic)
表示新术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
表示程序清单,在段落内表示程序元素,例如变量、函数名称、数据库、数据类型、环境变量、语句和关键字。
粗体等宽字体(Constant width bold)
表示应由用户原封不动输入的命令或其他文本。
斜体等宽字体(Constant width italic)
表示应该替换成用户提供值的文本,或者由上下文决定的值。
代码示例使用说明
本书的代码示例可到GitHub 中下载:。
与本书相关的技术问题,或者在使用代码示例上有疑问,请发电子邮件到bookquestions@oreilly.com。
本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无需联系我们获得许可。比如,用本书的几个代码片段写一个程序就无需获得许可,销售或分发O’Reilly 图书的示例集则需要获得许可;引用本书中的示例代码回答问题无需获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。
我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和ISBN,例如:“Kubeflow Operations Guide by JoshPatterson, Michael Katzenellenbogen, and Austin Harris (O’Reilly).Copyright 2021Josh Patterson, Michael Katzenellenbogen, and Austin Harris, 978-1-492-05327-9”。
如果你觉得自己对示例代码的使用超出了上述许可范围,请通过permissions@oreilly.com 与我们联系。
O’Reilly 在线学习平台(O’Reilly Online Learning)
近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:
。
联系我们
任何有关本书的意见或疑问,请按照以下地址联系出版社。
美国:
O’Reilly Media, Inc.
141 Stony Circle Suite 195
Santa Rosa CA 95401
中国:
北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)
奥莱利技术咨询(北京)有限公司
勘误、示例和其他信息可访问https://oreil.ly/Kubeflow_Operations_Guide 获取。
对本书中文版有任何建议可以发电子邮件到errata@oreilly.com.cn。
欲了解本社图书和课程的新闻和信息,请访问我们的网站http://oreilly.com。
我们的Facebook:
。
我们的Twitter:
。
我们的YouTube:
。
致谢
Josh
首先,我要感谢我的妻子Leslie 以及我的儿子Ethan、Griffin 和Dane,感谢他们的耐心支持,在我经常加班甚至多次在度假时仍然忙于工作。
我要感谢我的合著者Michael 和Austin,他们为本书的编写付出了巨大的努力。同时,我还要感谢我的编辑Michele Cronin,在整个写作过程中,她都是一位非常出色的合作伙伴。我们在疫情防控期间完成了这本书,这并不容易,但我们成功了。
我要特别感谢Jeremy Lewi,他为本书的内容和读者定位提供了很多帮助和讨论。我要感谢James Long,他充当了我的“影子编辑”和“读者之声”。知道如何筛选出哪些批评意见才能让书籍更出色是一项挑战,但每当James 提出建议时,我通常都会采纳。此外,我还要感谢Zeki Yasar 和Richard Dibasio,他们对本书的不同版本提供了反馈。Hamel Husain 和Hannes Hapke 也对书中的许多主题提出了有价值的意见。我还要特别感谢Adam Gibson,我们曾在O’Reilly 出版社合作过一本书。那本书的内容和写作过程,为本书的创作奠定了基础,使其比原本可能的状态更出色。
最后,我想感谢一些对我的职业生涯产生深远影响的人:我的父母Lewis 和Connie,Andy Novobiliski 博士(研究生导师),Mina Sartipi 博士(论文导师),Billy Harris 博士(研究生算法课程),Joe Dumas 博士(研究生导师),Ritchie Carroll(openPDC 的创建者),Paul Trachian,Christophe Bisciglia 和Mike Olson(将我招募至Cloudera),Malcom Ramey(我的第一份正式编程工作),田纳西大学查塔努加分校,以及Lupi’s Pizza(在我读研期间一直供我食物)。
Michael
写书从来不在我的人生愿望清单上。然而,在完成这项工作之后,我发现写作可以是一种愉快、放松,最重要的是不断学习的体验。与Josh 和Austin 合作撰写本书,让我有机会停下来反思自己原本以为掌握的知识,同时也让我学会如何更加清晰和有目的地表达信息,无论是口头还是书面。
在整个过程中,许多人给予了支持和鼓励,我想特别感谢Josh,他最初提出了这个想法,并推动了本书的完成。无论是头脑风暴会议,还是对截止日期的不断提醒(我真的很感谢你),正是他的坚持和奉献,让这本书得以问世。
我还要特别感谢整个自由和开源社区,以及所有贡献者,他们让代码对所有人开放、可阅读、可使用和可分享。如今,获取的知识量令人难以置信,而开源软件的存在,让我得以掌握在这个复杂技术世界中前行的技能。
还有许多值得感谢的人,但为了避免遗漏,我选择不一一列举。
Austin
首先,我要感谢我的朋友和同事Josh Patterson,感谢他给我这个机会参与本书的编写,并在整个写作过程中提供了方向和指导。Josh 一直是我职业生涯中的重要导师,我无法用言语表达对他的感激之情。其次,我要特别感谢Mina Sartipi,她在我读研和职业发展的过程中给予了持续的支持和指导。正是Mina介绍我认识了Josh,才开启了我们的合作,并最终促成了这次写书的机会。
接下来,我要感谢我的妻子Victoria Harris,感谢她在我熬夜工作的日子里给予支持,以及她在我整个职业生涯中持续的爱与鼓励。最后,我要感谢我的母亲Marlyce Harris 和父亲Steve Harris,感谢他们在我的人生旅程中给予的爱和支持。
目录
目录
前言 1
第1 章 Kubeflow 概述 7
11 在Kubernetes 上进行机器学习 7
111 企业机器学习的演进 8
112 企业基础设施变得比以往任何时候都更加难以管理 11
113 识别下一代基础设施(NGI)的核心原则 12
114 Kubernetes 用于生产应用程序部署 15
115 登场:Kubeflow 19
116 Kubeflow 解决了哪些问题 21
117 Kubeflow 起源 23
118 谁在使用Kubeflow 24
12 常见的Kubeflow 使用案例 25
121 在GPU 上运行Notebooks 25
122 共享多租户机器学习环境 28
123 构建迁移学习管道 29
124 将模型部署到生产环境以进行应用集成 31
13 Kubeflow 的组件 32
131 机器学习工具 33
132 应用程序和脚手架 36
133 使用KFServing 进行机器学习模型推理服务 44
134 平台和云45
14 总结 48
第2 章 Kubeflow 架构与最佳实践 49
21 Kubeflow 架构概述 49
211 Kubeflow 和Kubernetes 51
212 在Kubeflow 上运行作业的方式 52
213 机器学习元数据服务 52
214 工件存储53
215 Kubeflow 中的Istio 操作 53
22 Kubeflow 多租户架构 56
221 多租户和隔离 56
222 多用户架构 57
223 多用户授权流程 58
224 Kubeflow 配置文件 59
225 多用户隔离 60
23 Notebook 架构 61
231 Notebook 服务器启动器UI 62
232 Notebook 控制器 64
24 Pipeline 架构 65
25 Kubeflow 最佳实践 66
251 管理作业依赖 67
252 使用GPU69
253 实验管理71
26 总结 73
第3 章 规划Kubeflow 安装 75
31 安全规划 75
311 扩展Kubernetes API 的组件 76
312 运行在Kubernetes 之上的组件 76
313 背景和动机 77
314 Kubeflow 和部署的应用程序 78
315 集成 79
32 用户 80
321 用户画像80
322 不同的技能集 82
33 工作负载 84
331 集群利用率 84
332 数据模式85
34 规划GPU 86
341 GPU 的规划 86
342 受益于GPU 的模型 88
35 基础设施规划 90
351 Kubernetes 的考虑 90
352 本地 91
353 云端 92
354 放置 93
36 容器管理 93
37 使用Knative 进行无服务器容器操作 94
38 规模和增长 95
381 预测 95
382 存储 96
383 扩展 97
39 总结 98
第4 章 在本地安装Kubeflow 99
41 Kubernetes 命令行操作 99
411 安装kubectl 100
412 使用kubectl 103
413 使用Docker 106
42 基本安装过程 108
421 本地安装108
422 构建Kubernetes 集群的注意事项 108
423 网关主机访问Kubernetes 集群 109
424 Active Directory 集成和用户管理 110
425 Kerberos 集成 110
426 存储集成 111
427 容器管理和工件仓库 114
43 访问和与Kubeflow 交互 115
431 常见命令行操作 115
432 可访问的Web UI 116
44 安装Kubeflow 116
441 系统要求 117
442 设置和部署 117
45 总结 119
第5 章 在谷歌云平台上运行Kubeflow 121
51 Google Cloud Platform 概览 122
511 存储 123
512 Google Cloud IdentityAware Proxy 124
513 Google Cloud 安全与Cloud IdentityAware Proxy 126
514 GCP 项目用于应用程序部署 130
515 GCP 服务账户 131
516 注册Google Cloud Platform 132
52 安装Google Cloud SDK 132
521 更新Python 133
522 下载并安装Google Cloud SDK 133
53 在Google Cloud Platform 上安装Kubeflow 133
531 在GCP 控制台中创建项目 134
532 为项目启用API 135
533 为GCP Cloud IAP 设置OAuth 137
534 使用命令行界面部署Kubeflow 143
535 访问Kubeflow UI 155
54 总结 156
第6 章 在亚马逊网络服务(AWS)上运行Kubeflow 157
61 Amazon Web Services 概述 157
611 存储服务158
612 Amazon 存储定价 159
613 亚马逊云安全 159
614 AWS 计算服务 159
615 EKS 上的托管Kubernetes 160
62 注册AWS 账户 160
63 安装AWS CLI 161
631 更新Python 161
632 安装AWS CLI 161
64 在Amazon Web Services 上运行Kubeflow 164
641 安装kubectl 164
642 安装Amazon EKS 的eksctl CLI 165
643 安装AWS IAM 认证器 165
644 安装jq 165
65 在Amazon EKS 上使用托管Kubernetes 166
651 创建EKS 服务角色 166
652 创建AWS VPC 168
653 创建EKS 集群 171
654 使用eksctl 部署EKS 集群 171
66 理解部署流程 172
661 Kubeflow 配置与部署 173
662 自定义Kubeflow 部署 175
663 自定义认证 175
664 调整EKS 集群规模 176
665 删除EKS 集群 176
666 添加日志记录 177
667 部署故障排除 178
67 总结 179
第7 章 在Azure 上运行Kubeflow 181
71 Azure 云平台概述 181
711 关键Azure 组件 182
712 Azure 上的存储 183
713 Azure 安全模型 187
714 服务账户189
715 资源和资源组 189
716 Azure 虚拟机 189
717 容器和托管的Azure Kubernetes 服务 191
72 Azure CLI 191
73 在Azure Kubernetes 上安装Kubeflow 192
731 Azure 登录和配置 192
732 为Kubeflow 创建AKS 集群 194
733 Kubeflow 安装 197
74 授权网络访问部署 205
75 总结 205
第8 章 模型服务与集成 207
81 模型管理基础概念 207
811 理解训练模型与模型推理 209
812 构建模型集成的直觉 210
813 扩展模型推理吞吐量 213
814 模型管理216
82 KFServing 简介 217
821 使用KFServing 的优势 219
822 KFServing 的核心概念 220
823 支持的预构建模型服务器 229
824 KFServing 安全模型 233
83 使用KFServing 管理模型 234
831 在Kubernetes 集群上安装KFServing 235
832 在KFServing 上部署模型 237
833 通过金丝雀发布管理模型流量 245
834 部署自定义转换器 247
835 回滚已部署模型 249
836 移除已部署模型 250
84 总结 251
附录A 基础设施概念 253
附录B Kubernetes 概述 269
附录C Istio 运维与Kubeflow 277
- 有电书房
- 扫描二维码,访问我们的微信店铺