我有一个由多个节点和一个 GoogleCloud Redis Memorystore 组成的 GoogleCloud Kubernetes 集群。分布在这些节点上的是 Pod 的副本,其中包含需要连接到 Redis Memorystore 的容器。我注意到其中一个节点无法连接到 Redis,即该节点上的 pod 中的任何容器都无法连接到 Redis。
Redis Memorystore 具有以下属性:
- IP地址:
10.0.6.12
- 实例 IP 地址范围
10.0.6.8/29
:(10.0.6.8
-10.0.6.15
)
无法连接到 Redis 的节点具有以下属性:
- 内部IP:
10.132.0.5
- PodCIDR:
10.0.6.0/24
(10.0.6.0
-10.0.6.255
)
我认为这个问题是由 Memorystore 和该节点的 IP 范围重叠引起的。这个假设正确吗?
如果这是我想更改节点的 IP 范围的问题。我试图通过spec.podCIRD
在节点配置中进行编辑来做到这一点:
$ kubectl edit node <node-name>
但是,这不起作用并导致错误消息:
# * spec.podCIDR: Forbidden: node updates may not change podCIDR except from "" to valid
# * []: Forbidden: node updates may only change labels, taints, or capacity (or configSource, if the DynamicKubeletConfig feature gate is enabled)
是否有另一种方法可以更改现有 Kubernetes 节点的 IP 范围?如果是这样,怎么做?
有时我需要临时增加集群中的 pod 数量。当我这样做时,我想阻止 Kubernetes 创建一个具有 IP 范围的新节点10.0.6.0/24
。是否可以告诉 Kubernetes 集群不要创建具有 IP 范围的新节点10.0.6.0/24
?如果是这样,怎么做?
提前致谢!