kubernetes 在GKE节点上禁用外部IP

zqdjd7g9  于 2023-04-20  发布在  Kubernetes
关注(0)|答案(4)|浏览(212)

我正在使用Jupyterhub + Kubernetes为一个大型编程课程(〉100名学生)提供托管开发环境。它运行在GKE之上,启用了自动缩放。随着更多学生登录,更多节点将动态添加到池中以处理增加的需求。
我遇到了一个问题,节点池正在耗尽外部IP的项目配额,有效地将池的大小限制为8个并发节点。确切的错误是this one。节点位于反向代理之后,用于与最终用户通信;据我所知,这些公共IP的唯一用途是启用直接SSH到每个单独的节点。我不需要甚至不想要这个功能,因为它提供了一个不必要的攻击面。
如何禁用临时IP自动分配给这些工作节点?一定有办法,因为GKE的文档建议自动扩展可以增长到1000个节点。我不明白如果它们都受到相同的微小外部IP配额的影响,这是如何可能的。

6vl6ewon

6vl6ewon1#

您正在寻找的解决方案只是在控制台中为您的GCP项目增加配额(IAM & admin -〉Quotas)。只需点击几下,通常只需几分钟即可获得批准。
现在不可能在没有公共IP的情况下创建GKE节点。即使是这样,它也不会帮助你,因为你刚刚达到了其他配额(cpu/disk),所以也要提高这些配额。

wpcxdonn

wpcxdonn2#

1.属于private cluster的节点不会分配外部IP地址。

  1. Inspect the quota limits在您的集群所在的区域中。专业提示:很可能,如果您在低数量(低于500个IP/CPU)时达到这些限制,则该区域被过度使用,您可能会支付比使用较少的区域更高的价格。
ar7v8xwq

ar7v8xwq3#

不幸的是,每个节点连接到主节点都需要外部IP地址。为了避免将来的问题,您应该请求外部IP地址和CPU的配额,以便集群可以自动扩展。
关于表面攻击,您可以检查您的防火墙规则,当创建群集时,会创建新规则,并且默认情况下,仅允许对一系列IP地址的节点进行SSH。

bt1cpqcv

bt1cpqcv4#

我知道这篇文章很旧了,但以防万一它能帮助到别人...来自gcloud container node-pools create帮助页面:

--enable-private-nodes
        Enables provisioning nodes with private IP addresses only.

        The control plane still communicates with all nodes through private IP
        addresses only, regardless of whether private nodes are enabled or
        disabled.

我不确定如何通过UI来完成这一点,但通过gcloud CLI命令似乎相当简单。

相关问题