單人勇闖國外研討會 - KubeCon + CloudNativeCon North America 2024 心得

KubeCon + CloudNativeCon(以下簡稱 KubeCon)是雲端原生領域中最大的研討會了,身為 CNCF Ambassador,以及 KCD Taipei 2024 和 Cloud Native Taiwan User Group 共同籌辦者,居然到現在還沒去過 KubeCon?

背景

沒錯,其實這趟 NA 旅程之前,我都沒有去過 KubeCon 或其他國外大型研討會,包含距離比較近的 KubeCon China、KubeDay Japan,一次都沒有。

原因其實不少,除了剛出社會在存錢外,公司沒有補助經費讓我去,如果公司不補助,出去一趟基本上是要消耗自己的年假。不論怎麼想,我都覺得非常不划算。

今年 KCD Taipei 2024 結束後,每個月 KCD Organizer 都會固定收到 KCD Monthly Organizer Digest 的信件,內容當中就有提到「KubeCon + CloudNativeCon Scholarships for KCDs」。

獎學金制度

如果你有去看 KubeCon 官網,他們的獎學金名稱叫做「Dan Kohn Scholarship」,專門給沒有機會參與的,大致上分為三種:

  • 多樣性(Diversity):開源社群中代表性不足或邊緣化的族群,我應該是沒辦法申請到。
  • 社群活躍度(Need-Based):這可能算有機會。但 2024 上半年度,我並沒有算太高。
  • 專案維護者(Maintainer):CNCF 的專案維護者,並且沒有被公司贊助。我還沒有資格。

官網外的制度,其實還有 KCD Organizer,規則很簡單,只要是 KCD Organizer 就可以申請,性質算是 Need-Based 種類,但每場 KCD 只能提名一位。不過還是有幾個標準:

  • 沒有參加過 KubeCon + CloudNativeCon
  • 今年沒有被 Dan Kohn Scholarship 錄取過
  • 你的公司不會補助你旅費

以第一點來說,那時候八月也有一場 KubeCon HK,我是可以請假自費過去,但後來想想如果要去,乾脆等 NA 外加獎學金。雖然我初估還要自己貼錢,不過怎麼想都還是我比較賺。至於第二點和第三點,完全符合,接下來就是等了。


去年年初申請 KubeCon EU 的獎學金失敗,是否這次能成功呢?

總算這次皇天不負苦心人,這次很幸運的拿到獎學金啦!

獎學金錄取貼文 - 來源:LinkedIn

那就準備前往 KubeCon NA 囉!

這篇會以我個人的視角出發,聚焦在我自己的社群經驗。
不會有太詳細的技術分享,KubeCon NA 2024 所有演講都能在 YouTube 找到。
出訪心得我也有在社群分享過,簡報已公開,點擊這裡瀏覽,歡迎分享!

啟程

為了方便記錄,我到達時間作為 Day 1。Day 1 和 2 都是 CNCF 主辦的 Co-located 活動(CNCF-hosted Co-located Events),方便稱呼我後續都用 Co-located Events,到 Day 3 以後才是 KubeCon 活動。

Co-located Events 都會在 KubeCon 開始之前就會進行,大部分都圍繞在 CNCF 專案上,少部分會有 Linux Foundation 專案,也有的是主題式(e.g., 邊緣運算、平台工程等),時間長度通常是半天到一天,臺灣最接近這性質的活動應該是 COSCUP 了,每個議程軌都有自己的教室和各自的演講主題,審稿由各個議程軌自己審核。

Day 1: Landing

我當天早上 11 點多到住宿地點,臺灣時間大約是 2 點多,那時候已經非常想睡,但要努力調整時差,儘量不要睡著。

為了打起精神,只能先往會場逛逛。領完牌子後,旁邊會有幾張貼紙可以拿。

社交狀態貼紙

還記得之前網路上有很流行社交能量條吧?這也是很類似,綠色是「任何人都可以跟我講話」,黃色是「我只跟認識的講話」,紅色是「請勿打擾」,左邊的貼紙就是性別代稱,國外的性別代稱很豐富,也可以貼「不用代稱,直接稱呼名字」。

WasmCon 是在 Day 1 舉行,雖然之前有在 CNCF 直播過 WasmCloud,但我還是沒有很理解。

除了 WasmCloud 以外,到了現場還有一個活動是 Kubernetes Contributor Summit North America 2024。欸?我從來沒看過這活動?

Kubernetes Contributor Summit 導引指示牌

簡單來說,它不會算在 Co-located Events 裡面,你在 KubeCon 官網也不會看到這活動。再者,它不是 All Access Pass 就能參與,他們會有資格審核,註冊條件如下:

雖然我這兩個條件有達成,但 RSVP 時間在 11/7 前完成,由於我當天才知道這場活動,只能現在這裡留下懸念了。如果你對 Kubernetes 的貢獻非常有興趣,一定要去注意有沒有 Kubernetes Contributor Summit

更新:KubeCon EU 2025 的 Kubernetes Contributor Summit 合併到 Maintainer Summit,參與資格至少要有其一條件:

  • 沙盒專案 (Sandbox Project) 維護者
  • 孵化專案 (Incubating Project) 組織成員
  • 畢業專案 (Graduated Project) 組織成員
  • CNCF TOC、TAG Chairs、Technical Leads、Working Group Leads

如果你是 Kubernetes Member 之一,你也具備報名資格。但因為是分開報名還有審核,所以記得要去另外按一下 RSVP。

Day 2: Project Lightning Talk + CNCF-hosted Co-located Events

當天的 Co-located Events 有這些:

  • AppDeveloperCon
  • ArgoCon
  • BackstageCon
  • Cilium + eBPF Day
  • Cloud Native + Kubernetes AI Day
  • Cloud Native StartupFest
  • Cloud Native University
  • Data on Kubernetes Day
  • EnvoyCon
  • Istio Day
  • Kubernetes on Edge Day
  • Observability Day
  • OpenFeature Summit
  • OpenTofu Day
  • Platform Engineering Day

以上 Co-located Events 都需要 All Access Pass。還有另一個是由 KubeCon 舉辦的 Project Lightning Talk,只要 KubeCon + CloudNativeCon only pass 就可以進去。

這些所講的內容都是我自己事後理解,那天進到會場我根本不知道要逛哪,隻身一人在人生地不熟,沒有跟團也沒有人帶。

現場聽演講只是其次而已,主要目的是要跟之前在線上合作或有印象的人線下聊天。

最一開始我就去找 Jorge,如果有跟過我在 CNCF 的直播活動,他就是那天的主持人,開場介紹後和結束直播前會出現。

右下角就是直播上的 Jorge - 來源:ChatLoopBackOff Ep.32 WasmCloud

接下來午餐時間就拿餐袋,餐盒種類也很多,雞、牛、素食(Vegetarian)、純素(Vegan)、無麩質(Gluten-free),或者後面也有 Halal(清真食品)、Kosher(猶太潔食)還是有前有先講好的營養需求,會場都會提供。

我自己算處於探索階段(以職涯或技術社群來說),沒有說下一階段一定要走 Data、Network 還是 Infra 甚至是 Develop,聽議程跟逛會場當下覺得有點迷茫(主題豐富又覺得每個都很好玩),大概聽了 Cilium、Data 還有 Argo,逛到結束再回到 Project Lightning Talk 聽當天最後的幾個議程。

當天總結下來,收穫比較有限,有些主題我也還沒有很懂,場館大部分還在準備中,能逛的範圍也比較小,只能期待隔天 Ambassador 活動的心情進入夢鄉。

Day 3: KubeCon Opening, Kubernetes & AI

我六點多就起床了,為了去參與比 KubeCon 開場更早的活動 - Ambassador Breakfast!

Ambassador Breakfast 聚集了當天來到現場的 CNCF Ambassador,許多只有在線上互動的人出現在我面前,發揮我自己的「破英文」和鳳梨酥去跟大家交流。

Ambassador 大合照 - 來源:CNCF Flickr

成員們來自世界各地,連日本(Kensei、Kohei、Toru)和韓國(Seokho)的 Ambassador 跟我一樣坐了很遠的飛機來到了現場。

拍合照之後,大家一起前往 KubeCon 的 Keynote 會場,並且有專屬保留席。

CNCF Ambassador 的 Keynote 保留席

聽 Keynote 的過程當中,我翻找稍後的議程,欸?發現楷訓在 KubeCon 講解 Ray 專案,就決定先去拜訪聽一下大神的講解了。

從簡介 Ray 的專案架構到 online(使用者即時回應)和 offline(離線處理)的使用情境,以及比較 Ray Compiled Graphs 和 Ray Core 效能,最後講解 Dynamic Resource Allocation with KubeRay。等他講完後再跟他相認、交流。

Advanced Model Serving Techniques with Ray on Kubernetes

下午我沒有特別聽演講,大部分時間都在逛逛會場,還有玩「Google 牌」的大地遊戲。至於為何是說「Google 牌」?官方沒有指定去跑大地遊戲,但 Google 有跟幾家廠商合作,只要在上面蓋好指定廠家的印章,就會送 Google Cloud 衣服。

Google 的大地遊戲卡

要如何拿到印章?名牌中間的 QR Code 就是參加者資訊了,基本上要給廠商掃描才能蓋章。或者廠商會有互動小遊戲,像是 BashBrawl 輸入指定語言擁有的指令、關鍵字。

BashBrawl

不過你能想像研討會有電動遊戲機嗎?至少我去 KubeCon 前我是沒有想過這件事,臺灣的最大規模研討會你也不會見到。

Switch 瑪利歐賽車

還有迎合冬天氣氛的滑雪模擬機,經典遊戲 Pac-man 和彈珠台等,但滑雪模擬機很難操作。

滑雪模擬機

除此之外,還有 Ambassador meeting,不過是非公開,基本上沒辦法公開透露的都可以跟 Katie 反應,具體說了什麼是不能透露,但我可以說至少 CNCF 是有在聽的,對 CNCF 許願或需要改進,我們 Ambassador 都可以協助呈報上去,幫助這個社群更好。

KubeCon 的第一天議程結束 (18:00) 後,就會開始「#KubeCrawl + #CloudNativeFest」活動,大家都會在 Solutions Showcase 場館,會眾跟廠商互動,CNCF 也會有 ClashLoopBackOff 活動。

ClashLoopBackOff 趣味競賽

ClashLoopBackOff 流程是這樣的,主持人會在台上控場和公布挑戰題目,兩位參賽者事前不會知道題目(不允許使用預先編寫腳本、程式碼或建立雲端資源),題目可能會有嘗試修復故障的 Kubernetes 叢集,或是將服務部署到正式環境。參賽者要在 20 分鐘內完成挑戰,每個類別將從穩定性(Stability)恢復能力(Resiliency)靈活性(Flexibility)可觀測性(Observability) 四個方面進行評估。

比賽期間,主持人會在參賽者的螢幕之間來回切換,與觀眾互動,並現場向參賽者提問。觀摩別人對戰其實真的很有趣,之前聽到這活動就覺得很刺激,現在想嘗試複製這模式帶回 KCD Taipei 跟大家玩,期待一下今年的 KCD Taipei 吧!

同場加映:KCD Taipei 2025

KCD Taipei 2025 活動 Logo

Kubernetes Community Day (KCD) 是由雲端原生計算基金會 (CNCF) 支持與認證的官方社群組織活動,此會議集結來自開源和雲端原生社群的使用者及技術人員,以進行教育、協作和分享。

KCD Taipei 2025 即將在 7/5臺灣科技大學國際大樓舉辦,是臺灣最大的 CNCF 官方活動,目前正在徵稿開放 RSVP,趕快去官網了解更多資訊吧!

官網連結:https://kcd.taipei/2025

Day 4: Kubernetes & Security

雖然 Ambassador Breakfast 昨天已經過了,但我今天還是要早起,因為另外一個 Breakfast 活動 – Organizer Breakfast!

Organizer Breakfast 聚集來到現場的 Cloud Native Community Group (CNCG) 和 Kubernetes Community Days (KCD) 組織者們,不乏有些跟昨天早餐有重疊的參與者。

像昨天的 Ambassador 不一定會是 CNCG 或 KCD 的 Organizer(不過 KCD 要舉辦的 Organizer 至少要有一位 CNCF Ambassador 或 Project Maintainer)

同時間有 Program Committee Breakfast,專門給議程軌的審稿人員聚會,不過我並沒有參與過 KubeCon 審稿,這也只能留到之後的活動參與了。

早上聽完 Keynote 後,走到「Capture the flag Hosted by ControlPlane」活動中,如果以前打過資安競賽的話就知道,沒錯,K8s 也是有好玩的 CTF 活動。

Capture the flag 活動會場

活動開始時,要前往 Slack 向「CTF Taskmaster (from ControlPlane)」取得指定題目的 Kubernetes 連線資訊與憑證。接下來,我們需利用現有權限,設法提升權限,例如:利用 Workflow 設計缺陷、解密 Sealed Secret,或是針對未修改的 Helm Chart 預設值進行攻擊。

需要注意的是,初始權限絕對不會是 Admin(Get Node, Describe Node, Create Deployment 很大機率都會被封鎖,更別說 exec 進去 shell),因此,想要在競賽中取得玩得好,一定要善用 kubectl auth can-i 指令來評估權限範圍外加通靈術,高機率會有意想不到的收穫!

中午,終於不是一個人吃午餐了,跟 Kubernetes 社群的午餐聚會,名稱叫做「Kubernetes SIG Meet and Greet Lunch & Learn」

Kubernetes SIGs 的圓桌午餐

Kubernetes 的分組很多,從 Auth、API Machinery、Network、Release、Storage、K8s Infra、Testing 等都有很多人,像我是隸屬於發佈小組 (Release Team) 的訊號影子成員 (Signal Shadow)。遇到 v1.32 的 Signal Lead – Drew 和 Team Lead Shadow – Vyom,和 SIG Network 的 Tech Lead – Antonio,第一次可以近距離跟網路上的開發者們一同交流想法真的很棒!

當天 ClashLoopBackOff 是會眾參與版本,個人競賽,主持人在台上開好 Slack 頻道,還有 webhook 的 token,題目是:

  1. 建立一個 Kind cluster。
  2. 新增 Pod。
  3. ?
  4. 刪除 Pod。
  5. Slack 訊息提示說某 Pod 名稱被刪除。

第三項是問號?對,這一部分是參與者要去填空的。剛開始後我還沒意識到,提出問題後才發現,原來這就是題目的一部分。

當然就坐在現場想辦法實作,但我沒想到很好的解決辦法,還想要掛 Admission Webhook 奇怪解法。但其實只要用 Kubernetes Event Exporter 就能實作。意外遇到官方側拍我邊拿著鏡音鈴邊寫題目:

鏡音鈴? - 來源:CNCF Flickr

題外話,我拿著鏡音鈴玩偶走在展覽會場,很多人都在問這隻要去哪裡拿?當然這是非賣品,絕對不給賣的!

鏡音鈴跟其他外國人互動

走在會場路上的同時,路上閃過一張很「迷因」的海報。

Inside Argo: Automating the future 首映會海報

這張海報也不是「迷因」,而是 CNCF 的紀錄片宣傳海報,紀錄了 Argo CD 的起源,揭露 Argo 如何從單一工作流程引擎,成長為簡化 Kubernetes 部署並使其自動化的強大工具集合 – Argo Workflow、CD、Rollouts 與 Events。

錯過首映會嗎?也沒關係,現在可以在 CNCF 官方 YouTube 頻道觀賞喔!

晚上回去的時候,Knative 的 Leo Li 傳訊息給我,因為楷訓跟他說我也在現場,那就決定了,隔天在 Knative 的攤位碰面!

Day 5: Kubernetes & Next decade

來到了最後一天,不過我比較晚去,一方面不需要有聚會,沒有時間壓力。

Keynote 最後一場上台表演趣味競賽,叫做「KubeCon Family Feud」,這是源自於美國 Steve Harvey 的電視節目「Family Feud」,事前會準備問題並調查 100 位開發者(可能不只,有發送到 dev@kubernetes.io 跟大家調查),答案會依照次數排行在答案板上,臺上的參賽者要限時回答問題,如果回答的問題排行越高,得到的分數也越高。

KubeCon Family Feud

問題大概像是「你怎麼唸 kubectl?」,有人可能直接唸一起,也有人把 CTL 拆開來各唸一次。如果是你,你會怎麼唸 kubectl 呢?

你怎麼唸 kubectl?

上午聽完 Keynote 後就在 Solutions Showcase 場館溜達,遇到 Leo Li 後就是一直聊天,為什麼能聊超久?因為難得在會場能遇到講中文的人。∠( ᐛ 」∠)_ 可見英文是我很弱的項目 QQ。

中午吃完差不多 14:00 時候,Solutions Showcase 場館就開始陸續收攤了,拉下鐵捲門不再開放進入,接下來就是來去認真聽議程囉!(大誤)

Testing Kubernetes Without Kubernetes: A Networking Deep Dive - 來源:CNCF YouTube

標題名稱如所見,「要測試 Kubernetes」但「不要用到 Kubernetes」,乍聽之下真的很矛盾。

這場是 Istio 的開發案例,想要測試網路,每一項都是快速執行、不需要任何前置作業處理、容易除錯、不需要 Kubernetes、也不需要 Docker 或 Root 權限。想要做 Cloud Native 的應用程式開發可以參考看看。

Pushing Authorization Further: CEL, Selectors and Maybe RBAC++ - 來源:CNCF YouTube

這場算是 Kubernetes SIG auth 的功能發布。

其中有個很有趣的東西想要跟大家分享 —— Image Pull Credential 驗證,映像檔如果在私人 registry 上,拉取下來在節點上會有暫存,但只有 imagePullPolicy 設定 always 才會連線上去驗證,不然通常不會驗證,直接使用。預計 v1.33 以後會修正這問題。

不過每個 KubeCon 的議程都很好嗎?老實說我覺得不太一定,這場算排在最後一個議程了,而且個人認為沒有太多新東西。

Goodbye etcd! Running Kubernetes on Distributed PostgreSQL - 來源:CNCF YouTube

Distributed PostgreSQL 就是在推他們家的產品 YugabyteDB(這講者是 Yugabyte,也是贊助商),再加上 PostgreSQL 拿來做 etcd 已經是 2023 年就有人在做這件事。另一方面,etcd community 也在恢復當中,主分支也很頻繁在更新。

題外話,我要出去回飯店的時候,有看到 etcd 的 maintainer 群在該場後面一起討論。

收穫與成果

耕耘了 Cloud Native 社群好一段時間,貢獻總算被官方人員注意到,很難得用獎學金的名義出發,臺灣應該沒人拿過 CNCF 的 KubeCon 贊助,這次就寫文章來紀念一下。

在此特別感謝 Cloud Native Computing Foundation、Isovalent、Two Sigma、Sonatype 和社群成員小飛機 (Phil Huang)!

特別感謝 Special Thank

好奇我這次旅程的禮物有多少嗎?展示一下囉!

KubeCon NA 2024 紀念品&禮物

我逛任何研討會從來沒收過這麼多紀念品跟禮物,國外研討會真的很好玩,想要獲得跟我一樣的機會嗎?來我們 Cloud Native Taiwan User Group 社群聚會現場,我可以再跟你說更多!

至於要如何去逛 KubeCon 呢?我大部分都優先選擇沒有錄影的活動,大部分的議程都會有回播可以看。
有社群朋友就去認識線下搭話相認,沒有的話就去認真聽一下議程。

建議帶 Ambassador 朋友,請對方協助帶你逛 (ㄙㄡ) 逛 (ㄍㄨㄚ) CNCF Store,說不定會有隱藏內容呢!

旅程花費

先列一下能在 CNCF 補助範圍的:

  • 免費提供的 All Access Pass 個人價:1,079 美金
  • 機票來回:41,833 台幣(換算 1,308.06 美金)
  • 飯店住宿 5 天:978.70 美金
  • 不用簽證但還要申請的 ESTA:21 美金

機場接送是使用飯店的免費服務,除了 All Access Pass 以外,以上金額換成美金後扣 2,000 美元,就是我這次的必須花費了。

以下還有幾個很重要但不在補助範圍:

  • eSIM 費用(7 天 T-Mobile 吃到飽):353 台幣
  • 購買 KubeCon 紀念品:?- 150 美金(我沒有算總額,150 美金是當上 Ambassador 後的折扣碼,現場花就不用額外付運費了)
  • Day 4 晚上點了 Uber Eats:34.08 美金(換算 1,106 台幣)
  • 回程在 Seattle 吃午餐:64.80 美金(換算 2,110 台幣)
  • 買伴手禮(4 盒巧克力):192 美金(換算 6,252 台幣)

這次旅程都直接用信用卡解決了,現金真的很少動到。

今年 2025 預計會去 KubeCon EU,去尋找 NA 沒見過的社群朋友們,如果其他投稿如果也有中的話,就跟著一起飛了。

如何看 KubeCon 的 Sched?

從我這篇文章單人探索 KubeCon 過程,可以知道為什麼 KubeCon 的 Sched 網站很雜亂的感覺,我這裡也同時教大家怎麼看 KubeCon 的 Sched,想要單人獨闖 KubeCon 研討會可以少一些彎路。

官方分兩個 Sched 網站:

第一個就是主要活動,第二個就是 Co-located Events 會在主要活動前舉辦,如果沒有 All Access Pass 就不用看也沒關係。

主要活動會列出 Co-located Events 的時段和地點,就像下面的圖這樣:

主要活動標示的 Co-located Events 時段

假設你想看 EnvoyCon 的議程,就可以在 Co-located Events 的 Sched 篩選 EnvoyCon 的分類,就可以找到 EnvoyCon 的議程表。

EnvoyCon 的議程活動

想聆聽的議程也可以直接註冊 Sched 的帳號,按下打勾,手機上登入後就會顯示提醒。

Sched 登入後的介面

後記

今年 Blog 想要來嘗試每個月更新一篇長文,自從碩士結束以後,終於有空檔時間來寫文章,目前這樣的更新節奏還與許多事情平衡。

文章主題依然會以 Kubernetes 和 Cloud Native 出發,不一定是技術性質,也可能會聊聊社群上的八卦等。部分文章會提供英文版本(以 ChatGPT 翻譯,自己再校稿修正)給國外的朋友參考,好好利用 CNCF Ambassador 身份爭取更多曝光。

喜歡我的文章歡迎登入 GitHub 幫我按個正向反應,如果有幫助到你歡迎點下方的 Buy Me A Coffee 贊助,支持我繼續走下去,我會在下篇文章和下次公開演講中提及你的超級感謝!

Buy Me A Coffee

單人勇闖國外研討會 - KubeCon + CloudNativeCon North America 2024 心得
https://blog.yangjerry.tw/kubecon-na-2024/
作者
Jerry Yang
發布於
2025年3月20日
許可協議