关于kubernetes:Kubernetes-Operator-开发进阶-作者絮絮叨

4次阅读

共计 8081 个字符,预计需要花费 21 分钟才能阅读完成。

明天聊啥

昨晚在京东上试着搜寻关键字“Kubernetes Operator 开发进阶”,看到我的书终于上架了,悲喜交集。

(没有老泪纵横。你认为是我没有眼眶潮湿?不,我说的是我没有老!)

这本书破费了我大概半年的心血。半年,没有周末,没有假期。去年的元旦和大年初一都没有劳动,每天三小时,赶稿子。

明天,严肃认真地介绍下这本书吧!

庄重!庄重。庄重,算了,庄重不起来。还是轻易唠唠吧。

咱就唠这么几个角度:

  • 本书读者
  • 举荐序
  • 举荐语
  • 本书简介
  • 本书前言
  • 封面由来
  • 目录概览
  • 历史故事
  • 送书流动

没错,是要送书的,如果这是你惟一关怀的“点”,那就间接翻到结尾吧!

本书读者

本书适宜这么几类读者:

  1. 显示器太低,又不能伸缩,须要一本书垫一垫的;
  2. 喜爱吃泡面,然而没有锅,须要一本书盖一盖的;
  3. ……

总结:本书用来垫显示器和盖泡面那是一绝!

(不配图了,我不吃泡面,我的显示器也能够伸缩,哇咔咔)


《江城》(豆瓣 9.1 分)的作者彼得·海斯勒在书中写到这样一段话:

至于《江城》,我也感觉糟糕透顶。这本书仿佛一文不值 ——不过小孩子的写作水平而已。我齐全莫衷一是,也想不起我在书里表白了什么样的观点。起初我才晓得,很多作家在实现了高强度的写作之后,都有过相似的解体体验,就好似十月怀胎的妈妈们一朝分娩,接着蒙受产后抑郁的折磨。

此刻我其实也是“心田奔溃”的,我感觉我这本《Kubernetes Operator 开发进阶》一文不值。

爱因斯坦在不同的角度有过相似的表述:

用一个大圆圈代表我所学的常识,然而圆圈之外有那么多空白,对我来说意味着无知,而且圆圈越大,它的圆周就越大,它与外界空白的接触面也就越大。

所以在写这本书的过程中,我其实也在经验着这样的心路历程:

“我感觉我懂一些货色了,能够写一本书。”->“我才懂一点皮毛,谁给我的勇气写这本书?”

所以在这里我不想去说这本书能够帮忙哪些人学到多少常识达到什么境地之类的话。

哎😌,还是盖泡面吧。

举荐序

可能邀请到 邓洪超 任晶磊 两位大咖给本书作序,太侥幸了!

看看他们是怎么说的吧~

举荐序 1 – 邓洪超

邓洪超:Operator 机制开创作者之一,CNCF 利用交付畛域联席主席

通过作者多年的实际积攒和长期的精心筹备,这本书终于和大家见面了。我有幸作为本书的首批读者,同时也是最早参加研发 Operator 技术的工程师,心田是非常冲动的:我不仅见证了这项技术被利用到越来越多的事实场景中,同时也看到这部分常识通过书籍等模式记录下来,造福更多的开发者。

说起 Operator 的历史,一开始它是为了解决如何在 Kubernetes 上部署有状态利用而创造的。Kubernetes 晚期设计上只可能部署无状态利用,而对于有状态利用像 etcd、MySQL、Kafka 等并没有优雅的部署计划。起初咱们通过 Operator 这一套机制,让治理有状态利用变得跟无状态利用一样简略。不仅如此,Operator 的外围价值在于可能扩大 Kubernetes API,这也让越来越多的工作负载得以运行在 Kubernetes 上。在阿里落地 Kubernetes 的过程中,就通过 Operator 机制将大规模服务部署胜利,并诞生了 OpenKruise 我的项目。

本书我认为十分值得大家一读,次要有以下几点举荐理由:

首先,本书内容通俗易懂,有助于初学者疾速学习相干常识,并且从开发者角度登程,每一个概念退出了相应的代码实例来辅助了解。

其次,本书提供了大量的实例操作,不仅能够间接进步读者开发技能,还可能帮忙解决在实际生产中常常遇到的各种关键问题。书中这些内容具备很高的借鉴和推广意义。

另外,本书解说有些内容时间接深刻解析代码实现,让读者彻底了解其中原理。这对于有肯定根底(如 client-go)的专业人士学习 Kubernetes 的各种细节和实际操作非常无利。

最初,本书系统性地讲述了 Operator 整个机制的原理和生态,而不是繁多地解读某个工具或者服务。咱们能够看到,以 Kubernetes 为根底的整套云原生技术被越来越多的企业所采纳。这外面的每一项技术(如 Operator、Helm、Kustomize 等)都不是孤立无关的。相同,串联好一整套云原生技术,站在新技术改革的肩膀上,能力施展出不可预估的价值!

举荐序 2 – 任晶磊

任晶磊:思码逸创始人兼 CEO,清华大学计算机系博士

咱们有幸经验了几代虚拟化技术的演进和整合,见证了云原生技术的星火燎原。记得还在校园的时候,我跑去中关村的一家小公司实习,天天啃 Xen 的源代码。那一年,陈海波传授的团队发表了国内第一篇 SOSP 论文,做嵌套的虚拟化技术 CloudVisor;同年,UC Berkeley 的 AMPLab 在 NSDI 上发表了 Mesos 论文,起初衍生出 Mesosphere 和其上的容器编排零碎 Marathon。时隔不久,Google 开源了 Kubernetes,并在 EuroSys 上公开了其外部容器管理系统 Borg 和 Omega 的设计,它们堪称 Kubernetes 的前身。

在近十年强烈的市场竞争中,Kubernetes 怀才不遇,事实上占据了比 Mesos+Marathon 更加劣势的位置。Kubernetes 最终取得了更宽泛的社区和用户,这与它简洁的设计、弱小的可扩展性、优良的开发者体验密不可分。而这些 Kubernetes 的胜利因素有一个重要的基石,就是它的 Operator 模式。Operator 扩大了 Kubernetes 可利用和服务的场景,同时为开发者参加和扩大这些新场景提供了有效途径。

胡涛将他在 GitHub 和博客上连载的 Kubernetes 源码剖析文章裁减降级为此书,零碎介绍了 Operator 开发的常识。从设计到源码,从实例到我的项目,此书是国内这方面少有的原理与实际相结合的佳作。置信它能帮忙国内开发者一瞥 Kubernetes 的精华,学习和把握 Operator 技术,既晋升对云原生和容器零碎的了解,又满足理论零碎开发和运维的须要。胡涛的工作既立足 Kubernetes 在开发者社区中疾速扩大的关键点,同时也为 Kubernetes 社区和生态添砖加瓦。

在思码逸,胡涛正在和咱们一起打造 DevOps 工具链管理器 DevStream,并已胜利捐献给 CNCF,持续推动云原生技术的倒退。与胡涛共事,我深知他语言风趣,经常思如涌泉,期待读者可能享受他在此书中飞腾的文字。

举荐语

没错,除了举荐序之外,还有 张磊 宋净超 王泽锋 周鹏飞 郑东旭 五位重磅大咖写了举荐语,荣幸之至!

举荐语 1 – 张磊

张磊:CNCF TOC 成员

Operator 机制是云原生生态的一项要害翻新,也是扩大、运维和二次编程 Kubernetes 我的项目的必备技能。本书对 Operator 机制进行了深刻的源码级分析和解说,是一本不可多得的技术读物。

举荐语 2 – 宋净超

宋净超:Tetrate 布道师,云原生社区创始人

Kubernetes Operator 就好比云原生利用的发动机引擎,这本书将为你揭开引擎盖,直击 Operator 细节,带你玩转云原生利用!

举荐语 3 – 王泽锋

王泽锋:华为云云原生开源负责人,Kubernetes 资深维护者,CNCF 大使,KubeEdge、Volcano、Karmada 我的项目创始人

随着云原生技术的遍及,其关键技术 Kubernetes 曾经无处不在。而 Operator 概念的提出,Kubebuilder、controller-runtime 等我的项目的衰亡,开启了全民定制 Kubernetes 的时代。本书从 Operator 模式、Kubernetes API 机制、client-go 工作原理等维度零碎介绍了如何高质量地开发一个 Operator 利用,值得每个云原生的开发者浏览和学习。

举荐语 4 – 周鹏飞

周鹏飞:微软 Azure 产品经理,CNCF 大使

Kubernetes 是云原生时代的分布式操作系统,Kubernetes Operator 可能帮忙云原生开发者在此操作系统之上灵便开发和扩大新的 API 与利用。本书来自于胡涛多年的云原生开源我的项目参加教训和工业界实践经验的总结,为读者深入浅出地介绍了 Operator 相干的概念实践、源码解析和工具实操等。本书联合了大量的流程图与示例代码,帮忙开发者疾速了解和上手 Kubernetes Operator 开发,是目前市面上较为稀缺的 Kubernetes 开发工具类实战宝典。

举荐语 5 – 郑东旭

郑东旭:百度 CNCF BFE 开源我的项目作者之一,《Kubernetes 源码分析》作者

2014 年 Kubernetes 开源,2015 年 CNCF 成立,云原生浪潮就此袭来。云原生技术继续倒退多年,在利用逐渐上云的明天,Operator 始终是 Kubernetes 生态系统的重要组成部分,它旨在简化简单有状态利用的治理,升高其云上的部署和保护老本。我置信这本《Kubernetes Operator 开发进阶》值得每一位与云计算技术相干畛域的工程师浏览。

本书简介

上面这段文字是我写在《Kubernetes Operator 开发进阶》这本书扉页里的一段“简介”(是不是有点“书”的滋味了?没有博客那么自在~):

Kubernetes 是一个由 Google 开源的容器化利用编排零碎,为容器化利用提供了弱小的资源管理调度、服务发现、利用扩缩容、利用滚动更新与失败回滚等一系列性能。Kubernetes 早在几年前就曾经一统容器编排畛域,成为了容器编排的事实标准,彻底颠覆了软件的开发、运维模式。随着以 Kubernetes 为核心所构建的云原生利用的一直风行,人们逐步发现通过 Kubernetes 原生资源与控制器来治理简单有状态利用变得越来越艰难。起初 Kubernetes 开始反对自定义资源,接着又呈现了 Operator 模式,最初 Operator 模式开始逐步风行,成为了简单有状态利用上云的事实标准。

本书具体解说了 Operator 开发过程中所波及的各个知识点,从简略的 Operator 示例利用动手,帮忙读者疾速上手 Operator 的开发流程,接着深入分析了 client-go、Deployment 控制器等的源码,并且通过一个进阶利用的开发过程进一步具体介绍了 Operator 开发的各方面常识,置信本书可能帮忙读者轻松把握 Operator 的开发技巧,深刻了解 Operator 的底层原理等常识,进而在日常工作中可能更好地通过 Operator 实现各种简单的利用治理逻辑的开发。

无论是云原生畛域的开发工程师、测试工程师、运维工程师、软件架构师和技术经理,还是想要深入研究 Kubenetes,把握 Kubernetes Operator 开发技能的大、中院校相干业余学生,本书都会极具参考价值。

全书一共分为 10 个章,3 个局部。

第一局部:入门篇(第 1 - 2 章)

从 Kubernetes 的部署形式、倒退历史、外围概念和基本操作等动手,首先帮忙对 Kubernetes 不是十分相熟的读者对 Kubernetes 是什么、怎么用等基础知识有一个整体的了解。而后通过一个入门级的 Operator 利用一步一步具体解说了 Operator 开发的整个过程,帮忙没有 Operator 开发教训的读者疾速上手 Operator 开发,进而心中对 Operator 是什么、能干什么等有一个宏观的意识。

第二局部:进阶篇(第 3 - 8 章)

进阶篇是本书的外围局部。本篇从 Kubernetes API 的了解、应用等动手,接着具体了介绍 Operator 开发所依赖的底层外围工具库 client-go 的应用,进而花了较大篇幅详细分析了 client-go 中和 Operator 开发相干的模块源码,比方 Workqueue、DeltaFIFO、Indexer、ListerWatcher、Reflector 和 Informer 等等。而后又通过一个进阶我的项目具体介绍了 Operator 开发中所波及到的各种进阶常识,最初详细分析了一个经典的控制器模式的利用,也就是 Kubernetes 原生的 Deployment 控制器的源码。

第三局部:工具篇(第 9 -10 章)

本篇内容先具体介绍了云原生利用最常应用的多环境配置管理工具 Kustomize 和利用打包、管理工具 Helm 的外围概念、部署装置等基础知识,接着通过具体的操作示例演示了如何应用这两个工具。

本书前言

同样,书中的前言也分享给大伙看下:

我不晓得你是怎么发现这本书的,不过我置信有很大的概率是你关注了我的集体公众号“胡说云原生”,而后认可我分享的技术文章,接着某一天从中得悉我写了这本《Kubernetes Operator 开发进阶》,最初你决定反对一下这个默默写了好几年技术文章的“博主”,于是在网上下单买了这本书。如果你是我的粉丝,在这里我想对你始终以来的认可与反对示意最真挚的感激!

在 2013 年划时代的我的项目 Docker 正式公布,让容器化技术进入公众视线。接着在 2014 年 Kubernetes 开源,2015 年 CNCF 成立,云原生浪潮就此袭来,容器编排和管理系统开始蓬勃发展,进而开始了 Kubernetes、Mesos、Swarm+Compose 三分天下的场面。

我是在 2016 年下半年开始工作的(巧的是第一个 Operator 我的项目也是在 2016 年下半年诞生的),也就是 CNCF 成立后一年。毕业那年我去了 H3C 的云计算部门,有幸早早接触到了 Kubernetes,而后在云原生的世界里摸爬滚打,走了有数弯路,从小白逐步成长为一只“老鸟”,开始承当 Kubernetes 集群的保护、异样定位、优化等工作。起初凭借着在云原生畛域的技术积攒,在第二份工作的时候开始有机会参加整个云平台从 0 到 1 的建设。眨眼间从毕业到当初我曾经工作了六年,这六年工夫里我的每一份工作都围绕着“云原生”生态技术栈,认真想来,我在企业里落地以 Kubernetes 为外围的云原生生态技术栈,其实也是以 Kubernetes 为外围的云原生生态技术栈给了我“饭碗”。在我可预感的很长的职业生涯中我都会围绕着云原生、DevOps 等技术,想来也是和 Kubernetes 结缘颇深!

Kubernetes 一词来自于希腊语,意思是“舵手”。咱们晓得 container 这个单词的意思其实是集装箱,而 Docker 的 logo 是“驮”着集装箱的一只鲸鱼,寓意着其“容器管理器”的定位。而 Kubernetes 以“舵”作为 logo,可见其野心是要做容器治理的“领路人”。事实上,Kubernetes 也的确曾经确认了“领路人”的领导者位置,成为了云原生时代的一个“云操作系统”,成为了容器编排畛域的事实标准。

随同着微服务理念的倒退与风行,云上利用逐步变得复杂起来,在云上部署一个利用所须要的配置越来越繁多简单,这给云原生利用的运维带来了不小的挑战。起初 Helm 和 Kustomize 的呈现别离解决了云原生利用的部署治理复杂性问题和多环境差异化配置管理问题等,肯定水平上简化了利用上云的过程。然而简单的分布式、有状态利用除了部署简单之外,还有大量简单的保护工作须要 SRE 工程师去操心,比方数据备份、故障复原、有条件地扩缩容等等,这些技能往往是特定畛域运维工程师善于的,而不是一类利用所共有的属性。随同着云上利用的复杂化,Operator 利用而生,接着 SRE 工程师便能够通过编写 Operator 类型的运维软件来运维本人的利用,也就是将本人的畛域运维教训代码化,以代码的模式治理利用,通过代码代替手动的云上运维操作,自动化地实现特定利用的运维治理。

毫无疑问,Kubernetes 的理念很酷,而 Kubernetes 里最酷的就是通过 Operator 模式实现的高度可拓展性。然而目前市面上很少有书籍介绍如何开发 Operator,介绍 Operator 的底层原理等。尤其是专门解说 Operator 的书籍,更是少之又少。我本人在学习 Operator 的过程中也是一度感觉入门很艰难,走了很多的弯路。很多 Operator 的原理在网上简直找不到,要想深刻学习,只能本人深刻源码去摸索,而 Kubernetes 的源码浏览起来其实门槛不低。那时候我在网上以开源的形式连载《k8s-1.13 版本源码剖析》,这本电子书目前在我的 GitHub(https://github.com/daniel-hutao)里曾经有靠近 1000 的 star 了。起初我又在本人的集体博客网站 (https://www.danielhu.cn) 连载《Kubernetes client-go 源码剖析》,针对 Operator 开发所波及到的 client-go 底层模块详细分析源码。所以有一天华章图书的卞诚君编辑找到我,问我是不是有动向出版相干图书时,我便怅然许可了。

在和卞编辑约稿后的大半年工夫里,我简直没有周末和假期,在本就很繁忙的本职工作之外花了大量精力来编写本书。然而毕竟我集体的能力和精力有限,而 Kubernetes 又是一个宏大的“工程”,所以我再认真也难免会出一些纰漏和谬误。如果读者敌人发现了书中的任何谬误,欢送不吝雅正,将其通过评论的形式留到本书对应的博客 https://www.danielhu.cn/advan… 的评论区。大家有任何其余意见、倡议也都能够通过我的博客网站或者 GitHub 等平台找到我的邮箱等联系方式,而后反馈给我,让咱们可能互相学习,一起玩转 Operator、玩转云原生!

最初,感激邓洪超和任晶磊两位前辈在百忙之中抽空为本书作序;感激张磊、宋净超、王泽锋、周鹏飞和郑东旭等专家为本书编写举荐语;感激朴文峰设计师精妙绝伦的封面创意!也感激家人在这大半年工夫里的激励与反对!

封面由来

先观赏下封面(这个是拼幅员):

怎么样?看着还行吧?还是有点滋味吧?

再来个照片:

还有还有:

这是我司的朴文峰大设计师帮忙设计的原型,再经由出版社的美编润色微调,最终有了这个成果!(我很称心,很感谢,还有些许的得意,哈哈哈哈哈……)

目录概览

目录也得贴一个(有点长,不粘文字了,来个照片吧):

历史故事

不晓得你有没有看到过“胡说云原生”的博客(或者公众号)。

我也记不得是从哪年开始写博客的了,可能是 2017 年前后,那时候我次要发博客园。当然,初期始终不温不火,也没想过要火,单篇博文浏览量稳固在几百高低。我也单纯是当做本人的一个“小笔记”,用输入倒逼输出。

2018 年时我开始发一些源码剖析类的文章,浏览量差不多翻了十倍,单篇在几千高低,算是小小地被认可了。也是在那时候,机械工业出版社 - 华章图书 的编辑开始分割我,问我能不能写一本和 Kubernetes 源码剖析 相干的书,然而过后机会还没到,我感觉本人还不够资格写一本书,就没有许可。

在 2021 年的 8 月中旬,华章图书再次找到我,这次我感觉能够写写了,就怅然许可了下来。接着就开始了探讨选题、章节布局、合同等等事务。

前面年底又被换工作之类的事件打断,陆陆续续到了 2022 年中旬我才差不多实现了初稿,全副交到了出版社。

三审三校工作原本应该是两三个月就能实现,所以预计本书会在 2022 年的 9 月上架,然而刚好赶上了国家政策调整,收严出版物审核工作,于是我的书又被加了一轮审校(同期其余书也是),于是很天然,延期了一两个月。尽管多了一轮审校,然而 11 月或者 12 月初应该是要上架销售的,不过搞笑的是防疫政策调整,接着就进入了“普阳”阶段,出版社的工作人员同样也阳的差不多了。作为出版社,阳了必定还是得“充沛劳动”,于是我这本印刷好的书就在仓库里默默躺过了阳历年,在 2023 年 1 月初才终于顺利上架,开始销售……

送书流动

没错,得送书!

然而不能送多,因为我是作者,不是出版社领导,我手里也没有库存!(我送出去的书同样是从京东或者当当买的,六七十块一本,,,疼爱啊😭……)

但还是得送一些,有太多“忠诚粉丝”长达半年甚至一年的工夫在关注着我这本“破书”,时不时问我还有多久出版,不送他们几本我感觉良心不安!

另外帮忙写举荐序和举荐语的 7 位大咖,总得每人送一本吧!

送都开始送了,不抽个奖?还是抽抽吧!

具体规定我还没想好,总之,关注微信公众号“胡说云原生”,我会在下周发一篇文章,具体介绍“抽奖、送书规定”,敬请期待!

正文完
 0