我有一個kubernetes RC/pod包含圖像的容器,如:foobar/my-image:[branch]-latest
其中「分支」是git分支(「主」等)。如何使用滾動更新重新拉取容器圖像?
使用滾動更新強制RC重新拉取圖像以獲取最新版本的最佳方法是什麼?蠻力方法是簡單地刪除RC並重新創建它,但這會導致服務停機。
滾動更新只有在指定了確切的圖片標籤而不是像「最新」這樣的東西時纔有可能?
我有一個kubernetes RC/pod包含圖像的容器,如:foobar/my-image:[branch]-latest
其中「分支」是git分支(「主」等)。如何使用滾動更新重新拉取容器圖像?
使用滾動更新強制RC重新拉取圖像以獲取最新版本的最佳方法是什麼?蠻力方法是簡單地刪除RC並重新創建它,但這會導致服務停機。
滾動更新只有在指定了確切的圖片標籤而不是像「最新」這樣的東西時纔有可能?
您應該能夠使用您當前使用的是rolling update指定相同的圖像名稱:
kubectl rolling-update <replication-controller-name> --image=foobar/myimage:[branch]-latest
這將(幕後)創建一個新的複製控制器,是現有的複製副本然後逐步調整每個複製控制器的大小,直到舊複製控制器的容量爲零,並且新容量具有所需數量的容器,最後刪除舊容器並重命名新容器以使用舊名稱。
如果要滾動更新以重新拉取圖片,則必須使用:latest
標記或指定圖片拉取策略Always
(請參閱Kubernetes文檔中的Updating Images)。
在你的情況下,你不能使用:latest
標籤,因爲你需要特定分支上的最新圖像,所以使用拉取策略是一種方法。
dns-frontend-pod.yaml是一個示例文件,顯示如何使用Always
的圖像拉取策略。
但我的問題是,我不想更改任何RC。我只希望Kubernetes能夠在滾動的基礎上重新提取圖片。這可能嗎? – bk0
一旦向選擇器添加了「部署」按鍵並將imagePullPolicy更改爲「始終」,就可以完美實現了。謝謝! – bk0