我有一种情况,我想在同一个 AWS VPC 共享子网中运行两个 kubernetes 集群。这似乎工作正常,除了 weave CNI 插件似乎发现了另一个集群中的节点。这些节点因“IP分配由不同的对等方播种”而被拒绝,这是有道理的。它们是不同的集群。有没有办法阻止编织在备用集群中找到机器。当我这样做时weave --local status ipam
,weave --local status targets
我会看到每个集群的预期目标和 ipam。
Weave pod 处于连接和拒绝来自备用集群的节点的无限循环中。这会消耗 CPU 并影响集群。如果我kube-utils
在 weave pod 内运行,它会为每个集群返回正确的节点。似乎 kubernetes 应该知道哪些对等点可用,我可以只编织使用集群知道的对等点。
经过进一步调查,我认为问题在于我已经为两个集群向上和向下扩展了机器。在此过程中,IP 地址从一个集群重复使用到下一个集群。例如,集群 A 缩小了一个节点。Weave 继续尝试连接到现在丢失的节点。集群 B 扩展并使用最初在集群 A 中使用的 ip。Weave 找到该节点。这然后使编织“发现”其他集群节点。一旦它从另一个集群中发现一个节点,它就会发现所有节点。
我已经从 2.4.0 升级到 2.4.1,看看是否有一些与重用 ips 相关的修复可以缓解这个问题。