2015-08-30 28 views
1

有沒有辦法使用具有2個或更多容器的複製控制器進行滾動更新?在多容器複製控制器上使用滾動更新的策略?

例如,我有詹金斯安裝程序會自動在我們的開發環境中的rep控制器上執行滾動更新,一旦成功的構建發生,使用--image標誌指定存儲在GCR中的新容器的圖像。當同一個容器中有兩個容器並且沒有「-c」標誌來指定您希望在rolling-update命令上更新的容器時,此方法不起作用,因爲其他命令(如「exec」)或「日誌」。

我期待有多個莢的原因是爲了實現一個記錄跨鬥中: https://github.com/kubernetes/contrib/tree/master/logging/fluentd-sidecar-es

我能想到的唯一的選擇是烤fluentd配置到每個容器,這感覺決然「 un-kubernetes'給我。

回答

2

你說得對,kubectl rolling-update frontend --image=image:v2沒有給你提供更新一個容器的容器更多細節的方法。它給你一個錯誤Image update is not supported for multi-container pods

但是,它肯定給你2個變種

  1. kubectl rolling-update frontend-v1 -f frontend-v2.json
  2. cat frontend-v2.json | kubectl rolling-update frontend-v1 -f -

其中V1和V2可以成爲你的內部版本。通過這種方式,您也可以使用您的pod名稱來保持您的構建版本的優勢。

+0

是的,我想我必須讓Jenkins動態地從kubectl中取出配置,用sed或其他東西隨時編輯它,然後使用其中一種變體。如果您將來可以在命令行上指定-c ,那就太好了。再次感謝.. – coleca

+1

我同意。將創建問題併發送PR。 – Uday

+0

該功能以'--container = '實現。 –