k8s 基本元件與 ECS 類比

來類比 k8s 跟 ECS 的基本元件好讓我這個 ECS 手了解 k8s:

  • Node 對應 ECS instance
  • Pod 對應 ECS 的 task
  • ReplicaSet 裡的 template 對應 ECS 的 td
    • 但是 ECS 的 td 是一級 resource,ReplicaSet 裡的 template 只是 ReplicaSet 的一部分
  • ECS service 的功能在 k8s 則是分成兩部份
    • 維持 N 份 + 滾動更新 → k8s Deployment (→ ReplicaSet)
    • 掛 LB / 怎麼被找到 → k8s Service

相對 ECS,k8s 把東西拆得更細。這樣有更高的可組合性,但同時也變得比較複雜。ECS 可以打開 service 看完所有東西,但 k8s 得同時看好幾個 component,並且靠 label 把東西連起來才能知道全貌。

實驗 deployment 更新版本時發現新舊 ReplicaSet 的數字彼此消長,這在 ECS 裡可以用 minimumHealthyPercentmaximumPercent 調整新舊 task 開起來的行為跟數量,在 k8s 裡則是用 maxUnavailablemaxSurge 調整,而且兩者的邏輯不同。