我使用Jupyterhub + Kubernetes为大型编程课程(> 100名学生)提供托管开发环境。它在GKE上运行并启用了自动调节功能。当其他学生登录时,会向池中动态添加更多节点以处理增加的需求。
我遇到了节点池耗尽外部IP项目配额的问题,有效地将池的大小限制为8个并发节点。确切的错误是this one。节点位于反向代理后面,用于与最终用户通信;据我所知,这些公共IP的唯一用途是启用直接SSH到每个单独的节点。我不需要甚至不需要这个功能,因为它会带来不必要的攻击面。
如何禁用向这些工作节点自动分配临时IP?必须有一种方法,因为GKE的文档表明自动缩放可以长到1000个节点。如果它们都受到相同的微小外部IP配额的限制,我就不知道如何实现这一目标。
答案 0 :(得分:2)
您正在寻找的解决方案只是在您的GCP项目的控制台中增加您的配额(IAM和管理员 - >配额)。只需点击几下,通常只需几分钟即可获得批准。
现在,如果没有公共IP,就无法创建GKE节点。即使它是,它也不会帮助你,因为你只需要点击其他配额(cpu / disk),所以也要提高它们。
答案 1 :(得分:1)
答案 2 :(得分:0)
不幸的是,每个节点连接到主节点都需要外部IP地址。为了避免将来出现问题,您应该请求外部IP地址和CPU的配额,以便群集可以自动缩放。
关于表面攻击,您可以检查防火墙规则,在创建群集时,会创建新规则,默认情况下,只允许通过SSH连接到一系列IP地址。