2016-06-23 94 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