我遇到一种情况,我想在同一个AWS VPC共享子网中运行两个kubernetes集群。除了编织CNI插件似乎发现了另一个群集中的节点外,这似乎还可以。这些节点被拒绝,原因是“ IP分配是由不同的对等节点播种”。它们是不同的集群。有没有一种方法可以防止在替代群集中查找计算机。当我执行weave --local status ipam
和weave --local status targets
时,我会看到每个群集的预期目标和ipam。
编织荚处于连接和拒绝备用群集中的节点的无限循环中。这正在消耗CPU并影响集群。如果我在编织窗格中运行kube-utils
,它将为每个群集返回正确的节点。看来kubernetes应该知道哪些对等节点可用,我是否可以使用集群知道的对等节点呢?
经过进一步调查,我相信问题是我已经为两个集群上下扩展了机器。在此过程中,IP地址已从一个群集重用到下一个群集。例如,集群A按比例缩小了节点。编织继续尝试连接到现在丢失的节点。群集B扩大规模并使用群集A中最初使用的ip。Weave查找节点。然后,这使编织“发现”其他群集节点。一旦从另一群集中发现一个节点,便会发现所有节点。
我已从2.4.0升级到2.4.1,以查看与重新使用ips有关的某些修复程序是否可以缓解此问题。
答案 0 :(得分:0)
我还没有测试过,但是选项known-peers
似乎可以解决问题。建立与所有已知主机的连接后,编织主机不应尝试连接到其他主机。
$ kubectl apply -f“ https://cloud.weave.works/k8s/net?k8s-version= $(kubectl版本| base64 | tr -d'\ n')&known-peers =逗号分隔的主机列表。默认值:空。”
您可以在“更改配置选项”部分找到有关Weave插件可用选项的更多信息:
答案 1 :(得分:0)