Deployment 用來管理一組通常可以互相替代的 Pod,常見用途是部署網站或無狀態介面服務。你宣告需要的映像、容器設定與副本數後,它會透過 ReplicaSet 維持目標狀態,讓日常管理從逐一操作容器,轉變成管理整體需求。
假設服務需要兩個副本,當其中一個 Pod 被刪除,控制器會嘗試建立新的 Pod 補足數量。這種自動補建不代表資源一定充足,也不保證程式本身正確;若映像錯誤或節點容量不足,新副本仍然可能無法就緒。
Deployment 也支援滾動更新。修改 Pod 範本後,系統可以逐步增加新版本並移除舊版本,避免直接同時停止所有副本。更新是否順利,還會受到就緒檢查、可用容量與更新策略影響,不能只看到指令成功就宣布完成。
如果版本出現問題,可以利用保留的修訂紀錄進行回復,但這主要處理 Pod 範本,不會連資料庫內容一起還原。因此,應用程式更新仍需要考慮資料格式相容性。下一篇先練習副本管理與自動補建,建立可直接觀察的操作經驗。
參考: Deployment