2014-12-13 51 views
2

我安裝了一個8節點的kubernetes集羣(1個主+7個小兵),但我面臨着小夥伴之間的網絡問題。kubernetes minions之間的網絡

我按照this step-by-step Fedora manual安裝了我的集羣,所以我使用Fedora 20和它的測試版本庫來獲取kubernetes二進制文件。

安裝完成後,我想嘗試guestbook example,但在我看來,集裝箱間網絡存在問題。

儘管容器/ POD處於運行狀態,並且可以通過瀏覽器訪問我的3個前端容器(通過natcat),但前端與Redis不在同一主機上,但不能到達redis主。前端的PHP返回網絡異常。

任何人都可以幫助我爲什麼容器不能在主機之間互相訪問嗎?

我希望我可以準確地描述我的設置,並提前致謝。

回答

3

你遵循的Fedora指南只會讓你在單臺機器上運行。它避免了跨節點建立網絡的問題。

對於kubernetes工作,下面的網絡設置必須滿足:

  1. 每個容器應該能夠跟所有其他的容器,甚至是跨節點。這也意味着這些容器的網橋IP範圍不能重疊。
  2. 在不在容器中的任何節點上運行的代碼應該能夠到達每個容器(反之亦然),即使在節點上也是如此。
  3. 如果網絡中不屬於羣集的計算機可以直接訪問容器,則不需要(但很有用)。

有很多方法可以做到這一點 - 例如爲流浪者設置每個節點之間的GRE隧道。在GCE上,我們使用平臺的功能來進行路由。如果你在交換機上的物理機器上,你可能只需要做一個大型的第二層網絡。一個防彈的方式開始(但可能不是最高性能,取決於你的設置)是使用像flannel之類的東西。

我們正在努力使這個東西更容易啓動(不使用大量的shell腳本),並且正在考慮構建像絨布一樣的東西,以便有一個合理的默認值。

+0

謝謝,它現在工作正常。 – Halacs 2014-12-18 07:34:13

+0

是否有可能詳細說明如何讓外部網絡從子彈3工作,或指導我如何做到這一點的參考? – jmreicha 2015-03-12 02:06:29

相關問題