經過一些激烈的谷歌和SO搜索後,我找不到任何文件,提到滾動更新和設置圖像,並可以強調兩者之間的差異。Kubernetes滾動更新與設置圖像
任何人都可以放光?我什麼時候會使用這兩種方法?
編輯:值得一提的是,我已經在使用部署(而不是直接複製控制器)並且使用yaml配置文件。知道是否有一種方法可以使用配置文件而不是直接命令來執行任何操作,這也很好。
經過一些激烈的谷歌和SO搜索後,我找不到任何文件,提到滾動更新和設置圖像,並可以強調兩者之間的差異。Kubernetes滾動更新與設置圖像
任何人都可以放光?我什麼時候會使用這兩種方法?
編輯:值得一提的是,我已經在使用部署(而不是直接複製控制器)並且使用yaml配置文件。知道是否有一種方法可以使用配置文件而不是直接命令來執行任何操作,這也很好。
在較早的k8s版本中,ReplicationController
是管理一組複製Pod的唯一資源。要更新ReplicationController
的豆莢,請使用kubectl rolling-update
。
後來,k8s引入了Deployment
,它管理着ReplicaSet
資源。 Deployment
可以通過kubectl set image
更新。
使用Deployment
資源(正如您已經這樣做)是首選方式。我猜ReplicationController
和它的rolling-update
命令主要還是爲了向後兼容。
UPDATE:正如在評論中提到:
要更新Deployment
我用kubectl patch
,因爲它也可能會改變,如添加新的ENV的東西瓦爾而kubectl set image
是相當有限的,只能改變形象版。另請注意,patch
可應用於所有k8s資源,並不限於與Deployment
一起使用。
後來,我將部署流程轉移到使用helm - 一個非常整潔和k8s本地軟件包管理工具。強烈建議看看它。
你用'使用配置文件而不是直接命令'是什麼意思?您想直接在集羣上部署conf文件來更改部署,而不是使用k8s API服務器? – fishi
我的意思是我使用這裏陳述的第二種方法 - > https://kubernetes.io/docs/tutorials/object-management-kubectl/object-management/ – AvivC