
[前言]
寫這篇的那個早上,我的開發機又重開了一次。
那是台 GCP 上的 Spot VM,上面跑了 10 幾個 containers: Discord bot, LINE bot, 專案研究用的 RAG / MCP,當然也跑了十幾個 coding agent。
為了節省成本,選擇使用 Spot Instance,當然透過 Agent 討論,準備各種 Auto resume: 定時紀錄 Tmux and coding session,監控 VM 重開機訊號,提早儲存對話紀錄,也實驗過可以還原,之後也會公開這個小工具。
但實際上,重開之後有一部分服務沒預期般的回復(留到之後的篇章來探討)。這時才發現,我一直用單機思維,在管理一群本來就不該只依附在一台機器上的系統。
這就是這個系列的起點。今天先不談技術,把「這 30 天會寫什麼」和「你讀完能帶走什麼」講清楚。
感謝所有前雇主跟客戶的機會,從產品上線跟專案開發的經驗理,我也算是個兼職 SRE,也曾經在雲地混合兼容的 MLOps 產品支援團隊理,學到 K8s 手工技巧 (kubectl 的肌肉記憶跟開車一樣終身難忘)。而在大家都能透過 AI 產文章,快速問到解答的這個時代,學 K8s 不是因為它炫,而是系統長到一個規模之後,不學就得天天被同一批問題折磨:
也許即時修修補補 docker compose 都能「暫時」壓下來,但每次的解法都變成我腦袋裡的隱性知識,散在零碎的 script 裡;換一個環境就得重來。
K8s 不是系統規模畫的唯一解,此時此刻,還在懷疑目前自己的環境,客戶的環境是否真的需要它。但藉著把「一個 agent 需要多少資源、掛了要不要重啟、對外怎麼連」這些事,寫成明確的宣告式設定,身為工程師,就該好好的回顧將這些東西記錄下來。
整個系列分六週,每週回答一個問題:
| 週 | Day | 主題 | 回答的問題 |
|---|---|---|---|
| 1 | 1–5 | Agent 為什麼會撞上 Container / K8s | 為什麼要碰 |
| 2 | 6–10 | AI infra(inference / training)的資源規劃 | 資源怎麼想 |
| 3 | 11–15 | 沒碰過 K8s 的 AI 工程師怎麼起步(自架) | 怎麼學 |
| 4 | 16–20 | 該怎麼選雲端 K8s 部署 AI app | 怎麼選 |
| 5 | 21–25 | GCP:GKE vs Cloud Run | GCP 是什麼 |
| 6 | 26–30 | Azure AKS 對照 + 收尾 | Azure 是什麼、所以呢 |
第一週|為什麼要碰:從 agent 的本質是一堆程式講起。當上線的 bot 從一隻成長到一個隊伍之後,怎麼會發散到失控、另外 container 到底替 AI 工程師解決了什麼、compose 為什麼撐不住目前需求。最後,再次複習 Pod / Deployment / Service 三個基本觀念。
第二週|資源怎麼想:long-running bot、burst build、GPU 推論是三種完全不同的工作負載,不能一種部署法打天下。常見的 RAG 解決方案底下,memory cap 怎麼定;我從自己 Vibe 了 Whisper GPU backend 學到的事;從「記憶體壓力事件」,回頭思考 requests / limits / OOMKilled 的調整與心得;training 跟 inference 為什麼幾乎不該共用一個 Cluster。
第三週|怎麼學:這系列又開始重頭複習時,我所列出的學習路徑,Hands-on:在一台 VM 上裝 k3s/microk8s/kind 之類、搬遷 bot (from docker-compose)、看 log 和 kubectl指令。這週為實作篇。
第四週|怎麼選:一樣先是以「你的問題真的需要 K8s 嗎」畫一張決策樹;實際情境下,評估 Serverless (Cloud Run etc.), Cloud Provioder K8s (GKE, AKS) 的選型思路;Spot 的代價;選型心得與我之後遇到問題時拆解的 checklist。
第五、六週|上雲:同一個 agent workload 分別部署到 Cloud Run、GKE Autopilot、AKS,YAML 對照著看;GPU 在 GCP 上的兩條路;最後一張 GKE / Cloud Run / AKS / ACA 的對照總表,如果時間允許,AWS 也會加進對照表。
每篇會標明類型:敘事(概念與心得)、案例(以我專案裡的真實事件為骨幹)、實作(YAML 與指令)。每篇結尾固定有「今日一句話」和「延伸閱讀」。
如果你跟完 30 天,我希望你手上多了這幾樣東西:
你不會帶走的:K8s 內部原理、etcd 與 scheduler 的細節、企業級的治理與身份驗證架構。
目標讀者:會寫 AI agent、懂 TypeScript/Python/Rust 與 Docker 基礎,但沒碰過或剛碰 K8s 的工程師。 如果你是資深 SRE,這個系列可能太淺;如果你跟我一樣,是被自家 agent 系統一步步推到 K8s 門口,思考真的需要這玩意的人,我試著帶到門口讓各位思考與選擇。
明天從最核心的那件事講起:為什麼 agent 是「一堆程式」。