KubeCon China 2024 之旅

很早就有了解到今年的 KubeCon China 会在香港举办,虽然有些兴趣,但我最初是有被 KubeCon 高昂的门票价格劝退了的。

有时候不得不相信运气的魔力,机缘巧合之下,我从朋友 @Kev 处得知了 KubeCon 的「最终用户门票计划」并借此 0 元购了门票,又邀上了 0xFFFF 社区@Chever-John @0xdeadbeef @茗洛 三位朋友一起参加,在香港租了个 airbnb 住宿,期间也逛了香港城市中的不少地方,收货颇丰。

其实本来也尝试过邀请其他认识的朋友同事,但都因为种种原因无法参加,略感遗憾。

本文多图,也挺多技术无关的内容,为了方便想了解技术的朋友,我先做个大致的总结。

从 KubeCon 回来后我又听了些 CNCF 其他的会议视频,其中比较有印象的是这几个:

结合 KubeCon China 三天的经历,以及上面这些视频的内容,我大概的感觉是:

  1. (几乎)所有聊网络的人都在聊 eBPF, Envoy, Gateway API.
  2. Istio 的 Ambient Mode 吸引了很多曾经因为 sidecar 性能问题而放弃使用服务网格的公司。
  3. Karmada 多集群管理方案在许多公司得到了实际应用,挺多讲这个的。
  4. AI 与 WASM 方面的演讲也有不少,但感觉有些无趣,可能是我对这方面不太感兴趣。
  5. 蔚来汽车、中国移动等公司正在尝试将 K8s 应用在边缘计算场景(智能汽车、通信基站),但这些离普通互联网公司有点远。
  6. 云原生的未来十年会变成什么样?
    • Kubernetes, Service Mesh 等过去十年的新兴技术,现在已经成为了「Boring but useful infrastructrue」,它们将是其他云原生技术潮流的基石,被广泛应用,但自身不会再有太多的变化。
    • AI, eBPF, WASM, Rust 等技术也将在未来十年走向成熟,取代 Kubernetes 当前的地位。

KubeCon China 2024 的会议视频将会陆续被添加到如下这个 Youtube Playlist 中,有兴趣的朋友可以一观:

视频相关的 PPT 可以在这里下载:

这次我主要关注的是 Istio、Gateway API 相关的议题,最近在研究 Istio 的 Ambient Mode,因此希望能够从会议中了解到更多的实现细节与其中的权衡。

三天下来听到的内容也很好的满足了我的期待,Istio / Envoy Gateway / Ingress Controller 的几位核心贡献者分享了很多这些项目的最新进展,实现细节,以及未来的发展方向。

Ambient Mode 在最近 beta 了,是我关注的重点,总结下目前了解到的几个关键点:

  1. istio/ztunnel: 一个 userspace 的 l4 proxy,仅支持处理 L4 流量。
    • ztunnel 会分别与上游和下游建立连接,导致 A <=> B 之间的一个连接会变成 A <=> ztunnel <=> ztunnel <=> B 三个连接,这也会带来性能开销。
    • 因为所有流量都经由 ztunnel 转发,更新 ztunnel 会导致短暂的流量中断。感觉比较好的解决方案是采用 recreate 的更新策略 + 滚动更新节点组下的所有节点来更新 ztunnel.
    • ztunnel 使用的 HBONE 协议强制启用 mTLS,无法关闭,对于不要求安全性的场景会带来额外的性能开销。
  2. istio/proxy: 基于 envoy 的 l7 proxy,在 ambient mode 下它被单独部署为一个 waypoint, 用于处理 L7 流量。
    • waypoint 架构下 proxy 与上下游 Pod 很可能在不同的节点上,这会导致比 sidecar 模式多一次网络跳转,可能带来性能损耗,以及跨 Zone 流量上涨。
    • waypoint 与 sidecar 都是 envoy,它是通过减少 envoy 容器的数量来达到减少资源消耗的目的。

以及一些其他方案:

  • kmesh: 架构类似 Ambient Mode,特点是完全使用 eBPF 来实现 L4 proxy,好处是
    • eBPF 直接在内核空间修改网络包,不需要与上下游分别建立连接。因此性能更好,而且 eBPF 程序更新不会中断流量。
  • cilium service mesh: 特点是 per-node proxy,l7 的 envoy proxy 运行在每个节点上,而不是像 waypoint 一样单独通过 deployment 部署。但也存在一些问题:
    • per-node proxy 无法灵活地调整资源占用,可能会导致资源浪费。
    • 同一节点上的所有流量都由同一 envoy proxy 处理,无法实现 waypoint 那样的 namespace 级别的流量隔离。
    • 与 cilium cni 强绑定,必须使用 cilium cni 才能使用 cilium service mesh.
    • 据说使用起来较为复杂?

总体而言,KubeCon 是一次了解行业前沿技术动态、跟项目开发者及其他行业内的技术人面对面认识交流的好机会,可以帮助自己提升技术视野,维持技术热情与动力,不至于局限在公司业务中闭门造车。

因为要在香港呆三天,衣食住行是必须要考虑的事情。这方面我拉上的几位朋友都比较有旅行住宿的经验,我们最后在香港找了个离会场不远的 airbnb 住宿,最终的体验也是相当不错。房间干净整洁有格调,虽然我觉得稍微有点小了,但朋友说这个空间在香港都是一家三四口住的标准,已经吊打同价位的酒店了。

虽然提早定了住宿,做了点功课,但第一天就出了问题——深圳这边一直下雨导致 @Chever-John 的飞机直接被取消,改订了另一趟航班也晚点。虽然正点到达了会场,但他一晚上就睡了俩小时,在深圳定的前一晚的酒店也没住成,第一天看他整个人都听得迷迷糊糊的。不过没事,至少我听了个爽

说回正题,到了会场领完胸牌,我们就开始了为期三天的 KubeCon China 之旅。

具体的技术内容已经在前文总结过了,这里主要就贴些照片吧。

主会场过厅,海景不错的

去各会议室的过道,酒店的服务很到位

午休茶歇,吃饱喝足

冰镇饮料也可以随便喝,好哇

几位大佬聊 Istio 与 Gateway API 的未来

然后晚上@茗洛带着我们逛了香港的诚品书店,书店好几层,但感兴趣的书不多。后面又逛了好多电子商城、二次元周边店,我算是开了眼界。

《我推的孩子》

另一本

好多二次元钢琴谱,有《四月是我的谎言》

不知道逛到了哪,到处都是二次元周边

轻小说书店 1

轻小说书店 2

轻小说书店 3

第一天就差不多是这样,听了点技术,晚上逛了逛香港,回去休息。

好多的 CNCF 贴纸,可以随便拿,我给同事也带了一些

我收获的 CNCF 贴纸

首先是听了华为的演讲,介绍了 Kmesh 的方案创新,技术细节讲得很赞。想看 PPT 与视频请移步用内核原生无边车架构彻底改变服务网格 - Xin Liu, Huawei Technologies Co., Ltd.

华为介绍 Kmesh

介绍 Kmesh 如何借助 eBPF 实现热更新不中断连接

还听了晋涛老师的十年云原生之旅:容器技术和Kubernetes生态系统的演变 - Jintao Zhang, Kong Inc.

晋涛不愧是行业老将,这么早就开始玩 Docker 了

然后晚上我们随便走了走逛了逛,看了看香港海边夜景。

香港夜景,相当繁华哪

灯红酒绿,游人如织

路上碰到了《商务印书馆》

第三天早上是我这次最期待的,Linus 的访谈,见到了本人,这次行程也圆满了。

Linus

第三天没什么我特别感兴趣的话题,听完 Linus 的访谈后随便逛了逛,跟几位 朋友合了个影,就搭地铁回家了。

咱的合影

咱的 PC 与鲨鲨合影

另外朋友听了个 TiDB 的演讲,看 PPT 是有点意思的哈哈。

TiDB

以及在项目展厅三天逛下来,我帆布袋领了四个,T恤领了三件,还有别的小礼品一堆,吃的喝的都不用说了,管够。另外看网上不少信息说香港的服务业态度很差,但这家酒店可能星级比较高,体验还是相当到位的。

总之,体验相当不错的,有机会的话明年还来!Love you, KubeCon China & Hong Kong!

相关内容