2016-06-23 90 views
1

我試圖通過谷歌雲與Kubernetes創建一個FTP服務。我已經創建了Docker鏡像,並公開了必要的端口:EXPOSE 20 21 50000-52000創建FTP服務

到目前爲止,我遇到了幾個問題:最大涉及端口範圍。 ProFTPD需要大量可用的端口來處理被動連接,所以我不太確定如何創建一個允許這樣做的服務。

這導致我到this issue其中提到我應該使用hostNetwork: true,但這並不能幫助每個服務都需要有明確定義的端口的事實。在一些配置更改後,我可以通過手動定義它們來添加2000端口。當我這樣做時,現在谷歌API試圖創建負載平衡器時會返回一個錯誤,因爲它只允許數組中的100個端口(但它確實通過控制檯顯示它們支持範圍)。

我該如何去添加這個FTP服務,並支持被動範圍?

+0

您可以使用ProFTPD的['PassivePorts'](http://www.proftpd.org/docs/directives/linked/config_ref_PassivePorts.html)指令來配置用於被動數據傳輸的端口範圍。因此,如果你只允許100個端口,你可以嘗試'PassivePorts 2048 2140'。 – Castaglia

+0

我不想限制我的服務到100個端口。我們需要在我們建立連接時打開端口。 – FrankerZ

+0

它非常依賴於連接客戶端的行爲,以及您期望在任何時間傳輸數據(通過被動傳輸)的客戶端數量。你可能會發現,有100個端口就足夠了。 – Castaglia

回答

1

Kubernetes目前不支持端口範圍。使用傳統(但仍支持)的用戶空間代理很難實現。

我認爲有幾個GH問題在此打開,但https://github.com/kubernetes/kubernetes/issues/20420是一個。

+0

我對那篇文章創建了一個評論(在意識到你是那個需要更多信息的人之後不久)。我希望這個用例提供了kubernetes查看服務端口範圍的另一個原因。 – FrankerZ