本文发布已超过一年。较旧的文章可能包含过时的内容。请检查页面中的信息自发布以来是否已变得不正确。

植物、流程和参与者:Kubernetes 1.28 版本发布访谈

自 2018 年以来,我对 Kubernetes 社区最喜欢的贡献之一是分享每个版本的幕后故事。 这些故事很多都是代表以前的雇主讲述的;应大众要求,我现在以自己的名义将它们带回来。如果您是老节目的粉丝,如果您能订阅,我将不胜感激。

早在八月份,我们欢迎 Kubernetes 1.28 版本的发布。 该版本的负责人是滑铁卢大学的 CS 学生Grace Nguyen。 Grace 接受了我的传统版本发布采访,虽然您可以在下面阅读她的故事,但我鼓励您尽可能听一下

为了清晰起见,此文字记录已进行轻微编辑和压缩。


您是滑铁卢大学的学生,所以我想用这次采访的前两分钟来谈谈大基奇纳-滑铁卢地区。 现在是八月份,这是一年中地面上看不到雪的四个月之一吗?
好吧,没那么糟糕。我认为东海岸的情况还不错。我从小在卡尔加里长大,但我确实喜欢滑铁卢的夏天。 我们在大学校园附近有一个动物园,所以我有时会去看羊驼。

这是新事物吗?
我不确定,滑铁卢公园似乎已经存在五年左右了?

我 2007 年在那里住了几年,只是为了说明我们为什么要谈论这个。 我认为当时他们正在建造很多公园。 我当然记得基奇纳举办了世界第二大慕尼黑啤酒节。 您有机会去看看吗?
我没有。 我实际上不知道这是个事实。

我觉得当地的市民组织需要做更多的工作。 你喜欢排骨吗?
我对排骨的感情很复杂。 对我来说,到目前为止,情况有点好坏参半。

同样,这可能是在过去几年中发生变化的事情。 烤排骨节过去有很多带有小猪的奖杯,但我认为世界饮食习惯的转变可能意味着他们必须提供一些素食或无肉选择,以取悦现代人的口味。
[笑] 当然。 你推荐这里的慕尼黑啤酒节吗? 你去过吗?

我去过几次。 很有趣。
好的。

基本上只是喝酒。 我当时会推荐它; 我不确定今天我是否还会这样做。
好的,知道了。

但是,我还是会回去参加烤排骨节的。
哦,好的。

烤排骨节作为一个概念的伟大之处在于,每个小镇都有一个。 我查了一下,基奇纳烤排骨节在七月份; 你刚刚错过了。 但是,您可以去参加九月份的滑铁卢烤排骨节
哦,是在九月份吗? 他们有自己的烤排骨节?

他们有。 我认为圭尔夫有一个,剑桥也有一个。 这就是该地区的优势——有很多小城市。 基奇纳和滑铁卢是两个相互发展起来的城市——他们确实称它们为双子城。 我听说他们最终在两者之间建立了轻轨连接?
真是太棒了,它使城市更适合步行了。

是的,你可以从一个购物中心到另一个购物中心。 这就是加拿大。
嗯,市中心真的很好。 我很喜欢。 很舒适。

你有没有跨过边界进入基奇纳? 或者只在输了赌注时才去?
是的,不是很多。 我说,只为了农贸市场。

值得去。 我记得那里有很多好吃的食物。
是的。 很可爱。

现在我们已经解决了所有这些问题,让我们稍微回到过去。 你提到你在卡尔加里读高中?
是的。 在上大学之前,我没有去过安大略省。 坦率地说,卡尔加里太冷了,也不适合步行。

我对滑铁卢的看法基本相同,这就是我搬到英国的原因。
太迷人了。 越来越好了。

你是如何进入科技领域的?
我在高中上了一门计算机科学课。 我是班上可能只有三名女性之一,从那时起我就坚持了下来。

性别分布是你当时思考过程的一部分吗?
是的,我想我之所以被它吸引,部分原因是我在课堂上没有看到很多和我长得像的人。

你一直坚持到大学。 你在学习什么?
我正在学习计算机工程,所以有很多硬件方面的知识。

你参与了UW 网络安全俱乐部。 你能告诉我关于它的哪些事情,而不会让我被灭口?
哦,我们是非常友善和友好的人! 我告诉自己,我将度过一个美好而轻松的夏天,然后我被选中领导发布,并最终经营滑铁卢网络安全俱乐部。 该俱乐部在疫情期间逐渐消失,因为我们不在校园里,但我们有很多在网络安全领域聪明而出色的人,所以把他们聚在一起真是太棒了,我学到了很多东西。

这是否像局域网派对的现代版? 你们都进入一个黑暗的房间,试图入侵吉布森?
[笑] 嗯,你得再给我解释一下什么是局域网派对。 你带自己的电脑吗?

你以前是这样做的。 在过去,你无法以足够快的速度与不同地方的另一个人通信,这是不可思议的,所以你必须坐在某人旁边,并在你们之间插入一根电缆。
好吧,有点一样,我猜。 我们带上自己的笔记本电脑,一起参加 CTF 比赛。

在局域网派对的时代,他们没有笔记本电脑。 你会带一个巨大的 19 英寸方形显示器,以及所有东西。 你能携带什么东西是一种荣誉的象征。
好的。 无法感同身受,但很高兴知道。[笑]

滑铁卢大学比较独特的方面之一是它的合作项目。 请给我们介绍一下?
作为我学位的一部分,我必须完成至少五个、最多六个合作项目。 我已经完成了所有六个。 其中两个是在 Kubernetes 方面,这就是我入门的方式。

合作项目是一个实习岗位,而不是你在校园里做的事情?
没错,所以合作项目基本上就是一个实习。 我的第一个是在加拿大税务局。 我们没有无线网络,我有一个自己的小隔间,这很有趣。 他们现在不再那样做了,他们有开放的办公空间。 但我的第二个是在爱立信,在那里我了解了 Kubernetes。 那是在疫情期间。 KubeCon 为学生提供了虚拟参与的机会,我报名参加了,我在那里逛了逛,从那时起我就一直在那里。

在新冠疫情期间上大学是什么感觉? 就你以前会去这些实习的事实而言,这意味着什么? 你是在家完成所有这些实习的吗?
我不太确定我错过了什么。 当然,有很多关系建立,但作为合作项目经验的一部分,我们也必须经常搬家。 去年秋天我在旧金山,今年早些时候我在帕洛阿尔托。 很多这种动态已经存在了。

当然是不同的天气系统,帕洛阿尔托和滑铁卢不一样。
哦,当然。 是的,是的。 我很高兴能在那里度过冬天。

安大略省的第一场雪会在 10 月底左右落下,并在接下来的几个月里堆积起来。 到 6 月份,仍然有尚未融化的雪堆。 这就是我说,一年中只有四个月,7 月到 9 月,地面上没有雪的原因。
这是真的。 在帕洛阿尔托没遇到任何雪,老实说,这很棒。[笑]

感谢全球变暖,我想。
哦,不! [笑]

请告诉我你在爱立信参与 Kubernetes 的合作项目的情况?
那是非常久以前的事了,当时我们正尝试构建某种管道来部署测试。它在一个集群内部运行,我学习了 Helm charts 以及所有那些好东西。之后,在下一个合作项目中,我在一家加拿大的金融科技初创公司工作。那是 24/7 的 Kubernetes,使用 ArgoCD 从 1Password 自动拉取密钥,构建他们的密钥注入系统

这是如何引导你参与到发布团队的?
那是在疫情期间,我没什么事可做,就去参加了会议,看到了很多很酷的演讲。其中一个让我印象深刻的是 Tabitha Sable 和 V Korbes 关于 Kubernetes 黑客攻击的演讲。我认为那是太棒了,太酷了。我当时的一个朋友在发布团队工作,她向我展示了她的工作内容。我申请了,很幸运地被录取了。我没有任何开源经验。这完全就像是有人给了我一个机会。

你如何评价你迄今为止的经历?自从那以后,你几乎参与了每一次发布。
是的,我认为这是一次非常有意义的经历,社区在其中扮演了非常重要的角色。

你最初在 Kubernetes 1.22 中担任增强功能影子角色,最终升任增强功能负责人,然后你转为发布负责人影子。显然,你是 1.28 的负责人,但对于 1.27,你做了一些不同的事情。那是什么,你为什么要这样做?
在 1.25 和 1.26 版本中,我是发布负责人影子,所以我了解这个角色是什么样的。我想为另一个团队做影子工作,当时我认为 CI Signal 对我来说是一个很大的黑匣子。我加入了这个团队,但同时我也有能力做其他事情,我也加入了分支管理助理。

这个角色和我们通常认为的传统发布团队角色有什么区别?
是的,这是一个很好的问题。所以分支管理角色是一个更常态化的角色。他们不一定每次发布都会被更换。你作为助理进行影子工作,所以你会做一些像发布、分发、更新发行版之类的事情。这是一个非常重要的角色,而且担任这个角色的人更具技术性。所以如果你在发布团队工作了很长时间,并且正在寻找更永久的角色,我建议你考虑一下。

再次祝贺你今天发布了 1.28 版本
是的,谢谢。

Kubernetes 1.28 中最好的新功能是什么,为什么是边车容器支持
好问题。我和你一样兴奋。在 1.28 版本中,我们有一个新的 alpha 功能,即边车容器支持。我们为 init 容器引入了一个名为 restartPolicy 的新字段,它允许容器在 pod 的整个生命周期中存在,而不会阻止 pod 终止。Craig,你对这个很了解,但是它有很多用例。这是一个非常常见的模式。你可以用它来进行日志记录、监控、指标收集,以及配置和密钥管理。

还有服务网格!
还有服务网格。

非常受欢迎。我要说的是,早在Brendan Burns 写的一篇博客文章中,就提到了边车模式,讨论了如何实现你刚才提到的一些事情。在 Kubernetes 中支持它已经——我们得说,已经有一段时间了。自从 2018 年以来,我一直在进行这些采访,2019 年 9 月,我第一次和一位发布经理对话,他觉得他必须为边车容器没有在该版本中发布而道歉。
好吧,我们现在做到了!

谢谢你没有让大家失望。
[笑]

在 1.28 版本中,还有很多其他功能将会 GA。请告诉我 kubectl events 有什么新功能?
它有了一个新的 CLI,现在它与 kubectl get 分开了。我认为 CLI 中的更改总是更明显一些,因为它们是面向用户的。

还有很多其他面向用户的更改吗,还是说该版本中的大部分内容都是幕后的?
我想说这是一个很好的组合;这取决于你对什么感兴趣。

当然,我感兴趣的是非正常节点关闭支持。你能告诉我们关于这方面的信息吗?
好的,所以对于硬件故障或操作系统损坏的情况,我们添加了对更好的正常关闭的额外支持。

如果有人在你家的局域网派对上绊倒了电源线,导致你的集群下线了呢?
是的,没错。更高的可用性!这总是好的。

如果不是有人绊倒了你的电源线,那很可能是 DNS 破坏了你的集群。DNS 配置方面有什么变化?
哦,我们引入了一个新的功能门,以允许更多的 DNS 搜索路径

就这些吗?
差不多就这些了。[笑]是的,你可以拥有更多更长的 DNS 搜索路径。

永远都不会太长。搜索一切!如果 .com 不起作用,试试 .net,然后再试试 .io。
当然。

这些是一些正在转向稳定的重要功能。显然,在过去几个版本中,功能会不断进入,从 Alpha 到 Beta 等等。今天引入的新功能可能在一段时间内对人们不可用。正如你提到的,有一些功能门可以启用,以允许人们访问这些功能。你个人特别感兴趣的,最新引入的 Alpha 功能有哪些?
我有两个。第一个是 kubectl delete --interactive。我删除东西时总是很紧张,你知道,可能会有错别字,或者是在错误的标签页上。所以我们现在有一个 --interactive 标志。

所以你可以在删除之前获得关于你要删除的内容的反馈?
是的,确认是好的!

你提到了两个,第二个是什么?
是的,这个对我来说非常重要。它是一个 SIG Release KEP,在社区基础设施上发布。我不知道你是否知道,但作为我在 1.27 中的分支管理助理角色的一部分,我有机会发布了几个版本。有时需要长达 12 个小时。现在,我们希望这个过程只包括发布经理,这样我们就不必再打电话给谷歌的人,从而延长这个过程了。

对于这种规模的软件来说,12 个小时是预期的时长吗?或者说是否有工作正在进行,以试图缩短这个时间?
有很多工作正在进行,以缩短这个时间。我认为 12 个小时已经是较短的时间了。不幸的是,我们曾经遇到过需要更换发布经理的情况,因为对他们来说,时间太晚了。

他们半路睡着了吗?
是的,没错。我认为 6 到 12 个小时是我们的现状。

此版本的的主题是“Planternetes”。我觉得这需要一些解释。
好的。我对这个拥有完全的创作控制权。现在是北半球的夏天,我是一个狂热的室内植物爱好者。每次我为了合作项目而搬到新的城市,不能把我的植物带走时,我总是有点伤感。

这是边境管制的问题吗?他们不允许你把植物带过边境?
甚至不是那样;它们只是太笨重和脆弱了。通常不值得费那个劲。但我认为我们的社区很像一个花园。我们在生态系统中扮演着非常关键的角色,我们都必须共同努力。

你们会把种子寄给贡献者,然后在世界各地一起种植东西吗?
如果我们有周边商品,比如一张嵌入种子的卡片,那就太酷了。不过,我认为我们没有这方面的预算。[笑]

你是这么说的。有很多领域的人们受到了启发。我喜欢和发布经理交谈,听听他们感兴趣的事情。你应该考虑从你的植物上取下一些种子,然后把它们传播到世界各地。人们可以拍照,并在 Instagram 上标记你。
那太酷了。你知道我们有一个 SIG Beard 吗?我们可以有一个 SIG Plant。

你和 1.27 的发布负责人 Xander Grzywinski 一起工作了很长时间。在用书面形式而不是播客对他进行采访的好处之一是,我不用试图磕磕绊绊地念出他的姓氏。你能帮我一下吗?
很遗憾我不能。我也不想念错!

无论如何,Xander 告诉我,他怀疑在这个版本中,你将不得不像往常一样处理一些非常临时的 PR。情况是这样吗?
我清楚地记得上个版本中的临时 PR,因为作为分支管理团队的一员,我当时正在尝试发布版本。幸运的是,这个版本没有出现这种情况。当然,我们遇到了其他挑战。

你能告诉我一些这些挑战吗?
我认为改进文档始终是一个重要部分。对于新的贡献者来说,KEP 流程可能非常令人望而生畏。你如何让人们审查你的 KEP?你如何选择加入?所有这些事情。我们正在改进这方面的文档。

作为经历过许多版本发布的人,我感觉,就像你说的,临时的性质已经有所减缓。这个过程可能正在改善。你是否也看到了这一点,还是说负责人还有很长的路要走才能改进它?
我认为我们已经取得了很大的进步。当我开始在 1.22 版本中工作时,我们使用电子表格来跟踪一百个增强功能。那简直是个怪物;我害怕触碰它。现在,我们使用 GitHub boards。因此,我们实际上将在 1.29 版本中合并错误分类和 CI Signal 团队。

这有什么影响?
错误分类团队现在使用 GitHub board 来跟踪问题,这效率更高。我们能够将两个团队合并在一起。

我听说 GitHub boards 的底层是由电子表格驱动的。
老实说,即使这是真的,它在同一个平台上,并且具有更好的版本控制,这也是很神奇的。

目前,下一个版本的负责人尚未公布,但按照惯例,你会把你对他们的感受、最好的祝愿和指示写在一封信里,然后把它留在他们的办公桌抽屉里。你打算在信里写些什么?
我们的 1.28 版本负责人非常出色,他们完全有能力处理发布——

那不就是你吗?
1.29?[笑]不,我太累了。我需要补觉。我对他们的建议?一切都会好起来的。一切都会好起来的。我本来想重复 Leo 和 Cici 的话,要过度沟通,但我认为这句话已经被说过很多次了。

你已经沟通够多了。停止!不要再沟通了!
是的,不要再沟通了。[笑]一切都会好起来的。老实说,感谢我的名誉顾问 Leo,他提醒了我这一点。有时会有很多紧急情况,这可能会让人感到不知所措,但一切都会好起来的。

正如我们在对话中多次提到的,Kubernetes 社区中有很多具有丰富系统运行经验的人。当然,也有很多像你一样,刚开始职业生涯,还在大学学习的人。您如何看待这两类人群之间的互动差异?他们之间是一个团队吗?或者您认为他们之间可以互相学习什么?
我认为团队的多样性是其优势之一,我真的很喜欢这种氛围。我可以从那些有 20 年从业经验的人,以及像我一样刚入行的人那里学到很多东西。

我知道 CNCF 花费了很多精力来帮助新人参与进来。您有什么关于人们如何参与的建议吗?
首先,我认为 SIG Release 开启了一个很棒的传统或体系,即帮助新人以“影子”身份加入发布团队,并帮助他们成长为更重要的职位,比如领导者。我认为其他 SIG 也在效仿这种模式。但是,我加入并坚持留在社区的一个重要原因是参加会议的机会。正如我所说,我第一次参加的会议是 KubeCon,当时我完全没有参与到社区中。所以,我要特别感谢 CNCF 和赞助 Dan Kohn 和演讲者奖学金的公司。他们是我能够参加 KubeCon,认识朋友,并感受到社区力量的唯一原因。

去年在北美举行的 KubeCon 是在底特律吗?
是的,底特律,我当时在那里

那开车过去挺远的吧?
我当时在旧金山,所以是飞过去的。

你住在隔壁呀!要是你在滑铁卢就好了。
是啊,但是谁知道呢?也许我今年会从滑铁卢自驾去芝加哥。


Grace Nguyen 是滑铁卢大学的学生,并且是 Kubernetes 1.28 的发布团队负责人。订阅 Let's Get To The News,或者在你收听播客的任何地方搜索它。