iT邦幫忙

2025 iThome 鐵人賽

DAY 28
0

昨天我看了一篇介紹「應用部署的六種策略」的文章。

好文連結

內容超完整,從重建、滾動、藍綠到金絲雀部署都有,

裡面有些名詞我看過、聽過,但不懂。

Kubernetes、Minikube、例項池、最大峰值、負載均衡層……

這些到底是什麼?

所以今天這篇我不寫實作,也不寫指令

就單純幫自己搞懂這些詞。


一、Kubernetes:容器的指揮中心

Docker 是「貨櫃」,負責把應用打包起來。

但如果你有上百個貨櫃要同時上線、更新、重啟,

你就需要一個能自動調度、分配、修復的系統,

這個系統就是 Kubernetes(K8s)

它能幫你:

  • 自動部署:用一份設定檔就能起所有服務
  • 自動修復:掛掉會自己重啟
  • 自動擴展:流量高時自動加容器
  • 負載平衡:自動分配流量給健康的服務

Docker 負責「讓程式能裝箱」,

Kubernetes 負責「讓所有箱子能安全航行」。


二、Minikube:本地的迷你版 Kubernetes

Kubernetes 通常跑在雲端,

但對個人開發者來說太重了。

Minikube 是一個在自己電腦上就能啟動的「迷你 Kubernetes 叢集」。

它會幫你在本機開一個小型虛擬環境,

模擬完整的 K8s 系統,讓你能練習滾動部署、藍綠部署這些策略。

用途像是:

  • 在筆電上練習部署與指令
  • 不用開 EC2 或雲叢集就能測試
  • 適合實驗或教學

它就像是「在你筆電裡開一個迷你港口」,

讓你練習怎麼指揮貨櫃船。


三、例項(Instance)與例項池(Instance Pool)

在 Kubernetes 裡,例項 指的就是一個正在運行的應用副本。

例如三個後端容器在跑,其實就是三個例項。

例項池 則是一組相同類型的例項。

Kubernetes 會在裡面調度、替換、擴展,

讓整個系統維持穩定。

一個例項就像一台餐車,

例項池就是一整排餐車隊。

當人變多時,就多派幾台出來;

有的壞掉了,K8s 會自動派新車補上。


四、並行數、最大峰值、最大不可用數

這三個名詞通常出現在「滾動部署」的設定裡,

是控制部署速度與穩定性的參數。

名稱 意思 比喻
並行數 一次允許同時更新的例項數 同時換幾台餐車
最大峰值 更新時,允許暫時多出幾個例項 忙碌時臨時加開幾台餐車
最大不可用數 更新中,最多允許幾個例項暫時停用 有幾台餐車可以同時維修

這些設定讓滾動更新更「可控」,

不會一次關掉所有服務造成斷線。


五、負載均衡層(Load Balancer)

當你的服務不只一個例項時,

就需要有東西幫忙「分配流量」。

負載均衡層 就是這個分配中心:

它會把使用者的請求平均分給多個容器,

讓每個服務都保持健康、不會被壓垮。

在現代系統中,常見的負載均衡工具有:

  • Nginx
  • AWS Elastic Load Balancer
  • Kubernetes Service

它就像餐廳門口的帶位員,

幫客人分配到有空位的桌子。


結語

看完才發現,那篇文章講的六大部署策略,基本上是我還沒走到的「下一步」。

我現在連服務都還沒順利跑起來,更別說要考慮什麼滾動更新或藍綠部署。

然後以目前 MyMomentum 的規模來說,最適合的策略就是最簡單的 「重建部署」,也可以說是「大爆炸式部署」。

雖然樸實無華,但能跑就好。

未來如果有機會,我會想再試試看那些更進階的策略。


上一篇
Day27:MyMomentum Docker 部署——四個服務一起跑的代價
下一篇
Day29:DevOps 學習筆記
系列文
我的時間到底去哪裡了!? – 個人時間數據系統開發挑戰30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言