4

我正在使用Jupyterhub + Kubernetes为大型编程课程(> 100 名学生)提供托管开发环境。它在启用自动缩放的 GKE 之上运行。随着更多学生登录,更多节点会动态添加到池中以处理增加的需求。

我遇到了一个问题,节点池耗尽了外部 IP 的项目配额,有效地将池的大小限制为 8 个并发节点。确切的错误是这个。节点位于反向代理后面,用于与最终用户进行通信;据我所知,这些公共 IP 的唯一用途是启用直接 SSH 到每个单独的节点。我不需要甚至不需要这个功能,因为它提供了不必要的攻击面。

如何禁用向这些工作节点自动分配临时 IP?必须有一种方法,因为 GKE 的文档建议自动缩放可以增长到大约 1000 个节点。如果它们都受制于相同的微小外部 IP 配额,我不明白这怎么可能。

4

3 回答 3

4

您正在寻找的解决方案只是在控制台中为您的 GCP 项目增加配额(IAM & admin -> Quotas)。只需点击几下,通常只需几分钟即可获得批准。

目前无法创建没有公共 IP 的 GKE 节点。即使是这样,它也无济于事,因为您只是达到了其他配额(cpu/disk),所以也要提高这些配额。

于 2018-01-10T20:32:34.890 回答
2
  1. 属于私有集群的节点不会被分配外部 IP 地址。
  2. 检查托管集群的区域中的配额限制。专业提示:如果您以少量(低于 500 个 IP/CPU)达到这些限制,则该区域可能被过度使用,您支付的费用可能比使用较少区域的价格高得多。
于 2019-01-06T10:31:44.387 回答
0

不幸的是,每个节点都需要外部 IP 地址才能连接到主节点。为了避免将来出现问题,您应该为外部 IP 地址和 CPU 请求配额,以便集群可以自动扩展。

关于表面攻击,您可以检查防火墙规则,确保在创建集群时会创建新规则,并且默认情况下,仅允许通过一定范围的 IP 地址向节点进行 SSH。

于 2018-01-17T10:11:39.917 回答