【发布时间】:2020-02-09 21:29:00
【问题描述】:
在 Kubernetes 中有没有办法或者有一个网络插件可以限制 IP 分配的范围。例如,我正在尝试使用 weave 并使用子网 192.168.16.0/24。我想将通过 Kubernetes 分配给 Pod 的 IP 限制在192.168.16.10-30 的范围内。
但是,我的应用程序可能会根据要求使用其余 IP,即我的应用程序可以从 192.168.16.31-50 启动虚拟 IP,但我需要一些机制来确保我指定的 IP 范围不会由 K8s 分配,我的应用可以使用它。
我需要这样的东西:https://www.weave.works/docs/net/latest/tasks/ipam/configuring-weave/。
【问题讨论】:
-
我不确定我是否了解您的要求以及您为什么要这样做。创建集群时,您可以设置 pod 获取 IP 地址的 IP 范围,例如通过
--cluster-ipv4-cidr在 GKE 上。但是几乎所有超出此范围的内容都不会被 Kube 代理 afaik 路由。你想达到什么目的?你不能使用服务吗? -
同意@yvesonline,您可以使用 statefulset 更好地控制您的 pod 并使用 service 代替固定 ip 中的 pod。请提供有关您的申请要求的更多详细信息,以便从社区获得帮助。
-
感谢您提供意见。
-
感谢您提供意见。我正在使用自定义 DNS 服务器,并且可以通过自定义 DNS 访问 PODS。我有一个应用程序,它接受虚拟 IP 上的连接,因为它是以这种方式编写的,并且可以修复我的网络身份。我理解 statelfull pod 是一种替代方案,但它在这里没有帮助,因为我们的有状态应用程序通过虚拟 IP 有自己的连接机制,并且 IP 可以立即故障转移到其他 PODS 到服务已启动但客户端无法访问的其他影子 pod除非虚拟 IP 故障转移到该 pod。
标签: kubernetes weave