昨天我看了一篇介紹「應用部署的六種策略」的文章。
內容超完整,從重建、滾動、藍綠到金絲雀部署都有,
裡面有些名詞我看過、聽過,但不懂。
Kubernetes、Minikube、例項池、最大峰值、負載均衡層……
這些到底是什麼?
所以今天這篇我不寫實作,也不寫指令
就單純幫自己搞懂這些詞。
Docker 是「貨櫃」,負責把應用打包起來。
但如果你有上百個貨櫃要同時上線、更新、重啟,
你就需要一個能自動調度、分配、修復的系統,
這個系統就是 Kubernetes(K8s)。
它能幫你:
Docker 負責「讓程式能裝箱」,
Kubernetes 負責「讓所有箱子能安全航行」。
Kubernetes 通常跑在雲端,
但對個人開發者來說太重了。
Minikube 是一個在自己電腦上就能啟動的「迷你 Kubernetes 叢集」。
它會幫你在本機開一個小型虛擬環境,
模擬完整的 K8s 系統,讓你能練習滾動部署、藍綠部署這些策略。
用途像是:
它就像是「在你筆電裡開一個迷你港口」,
讓你練習怎麼指揮貨櫃船。
在 Kubernetes 裡,例項 指的就是一個正在運行的應用副本。
例如三個後端容器在跑,其實就是三個例項。
例項池 則是一組相同類型的例項。
Kubernetes 會在裡面調度、替換、擴展,
讓整個系統維持穩定。
一個例項就像一台餐車,
例項池就是一整排餐車隊。
當人變多時,就多派幾台出來;
有的壞掉了,K8s 會自動派新車補上。
這三個名詞通常出現在「滾動部署」的設定裡,
是控制部署速度與穩定性的參數。
| 名稱 | 意思 | 比喻 |
|---|---|---|
| 並行數 | 一次允許同時更新的例項數 | 同時換幾台餐車 |
| 最大峰值 | 更新時,允許暫時多出幾個例項 | 忙碌時臨時加開幾台餐車 |
| 最大不可用數 | 更新中,最多允許幾個例項暫時停用 | 有幾台餐車可以同時維修 |
這些設定讓滾動更新更「可控」,
不會一次關掉所有服務造成斷線。
當你的服務不只一個例項時,
就需要有東西幫忙「分配流量」。
負載均衡層 就是這個分配中心:
它會把使用者的請求平均分給多個容器,
讓每個服務都保持健康、不會被壓垮。
在現代系統中,常見的負載均衡工具有:
它就像餐廳門口的帶位員,
幫客人分配到有空位的桌子。
看完才發現,那篇文章講的六大部署策略,基本上是我還沒走到的「下一步」。
我現在連服務都還沒順利跑起來,更別說要考慮什麼滾動更新或藍綠部署。
然後以目前 MyMomentum 的規模來說,最適合的策略就是最簡單的 「重建部署」,也可以說是「大爆炸式部署」。
雖然樸實無華,但能跑就好。
未來如果有機會,我會想再試試看那些更進階的策略。