2016-03-09 58 views
1

與碼頭工人景觀玩了幾個月後,我仍然發現它確實是反直覺的使用Kubernetes吊艙。我沒有遇到任何使用情況,其中吊艙比容器更合適。當我被要求使用Pod時,我通常只使用一個容器Pod。我試圖做一個演示展示pod概念的實力,但我無法弄清楚一個非trival用例。什麼是kubernetes pod的好用例?

在我的演示,我開始了服務器莢兩個服務容器監聽不同的端口,一個用於錄製字母爲大寫,一個用於錄製字母爲小寫。然後我有一個有兩個客戶端容器的客戶端容器與每個服務器容器交談......這個用例似乎真的被迫,我不明白爲什麼我需要使用Pod概念。

我已經經歷了很多的教程和文檔的閱讀,他們都只是觸及到什麼是莢,不爲什麼我們必須用莢......我缺少的東西令人信服的用例?什麼是使用Pod概念的堅實用例?謝謝。

編輯: 具體而言,假設有兩個服務A和B需要共址和共享網絡堆棧,這對於Pod概念是非常合適的。與使服務A和服務B在相同容器中運行相比,使用Pod的優點是(使用兩個並置的容器運行服務A和服務B),從而確保配置和共享網絡堆棧?粒度有沒有經驗法則?

我原來的問題是要找出這樣的服務A和服務B,需要協同定位並共享網絡棧。感謝Jared和Robert提供的指針,我將深入挖掘這些用例。

+1

這[GitHub的問題(https://github.com/docker/docker/issues/8781)給出了幾個用例。我可以看到在一個pod中使用git和複製服務構建web服務器pod。關於該問題的 –

+0

[此評論](https://github.com/docker/docker/issues/8781#issuecomment-61683395)也給出了一些(也許更簡單)的用例。 –

+0

@JaredFarrish感謝您的指點,這是一個堅實的案例。 – cookieisaac

回答

1

賈裏德指出,在上面他的評論一些很好的例子。正如Brian Grant在鏈接的github問題中提到的,推送日誌數據和加載數據是Google內部最常見的用途。

對於在Kubernetes庫一個具體的例子,你可以看看定義爲DNS cluster add-on。它採用吊艙共同定位DNS服務器(skyDNS),使用ETCD本地存儲,和一個簡單的程序來拉Kubernetes API對象下來,將它們轉換,並把它們放到本地存儲。該站點並不是構建新的自定義DNS服務器,而是利用現有的DNS服務器並向其添加一些定製,以使其知道羣集環境。由於所有容器都在一個容器中,因此他們可以依靠本地主機網絡進行通信,並且不需要任何形式的複雜服務發現。

相關問題