Kubernetes Deployment提供了官方的用于更新Pod和Replica Set(下一代的Replication Controller)的方法,您可以在Deployment對(duì)象中只描述您所期望的理想狀態(tài)(預(yù)期的運(yùn)行狀態(tài)),Deployment控制器為您將現(xiàn)在的實(shí)際狀態(tài)轉(zhuǎn)換成您期望的狀態(tài);
Deployment集成了上線部署、滾動(dòng)升級(jí)、創(chuàng)建副本、暫停上線任務(wù),恢復(fù)上線任務(wù),回滾到以前某一版本(成功/穩(wěn)定)的Deployment等功能,在某種程度上,Deployment可以幫我們實(shí)現(xiàn)無(wú)人值守的上線,大大降低我們的上線過(guò)程的復(fù)雜溝通、操作風(fēng)險(xiǎn)。
Deployment的典型用例:
使用Deployment來(lái)啟動(dòng)(上線/部署)一個(gè)Pod或者ReplicaSet;
檢查一個(gè)Deployment是否成功執(zhí)行;
更新Deployment來(lái)重新創(chuàng)建相應(yīng)的Pods(例如,需要使用一個(gè)新的Image);
如果現(xiàn)有的Deployment不穩(wěn)定,那么回滾到一個(gè)早期的穩(wěn)定的Deployment版本。