gpt4 book ai didi

redis - Google Cloud Kubernetes 节点可能由于 IP 范围重叠而无法连接到 Redis Memorystore

转载 作者:IT王子 更新时间:2023-10-29 06:04:16 25 4
gpt4 key购买 nike

我有一个由多个节点和一个 GoogleCloud Redis Memorystore 组成的 GoogleCloud Kubernetes 集群。分布在这些节点上的是包含需要连接到 Redis Memorystore 的容器的 pod 的副本。我注意到其中一个节点无法连接到 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 的新节点?如果是,怎么办?

提前致谢!

最佳答案

  • 不适用于节点。当您在设置新集群的初始步骤中安装网络覆盖时,就会定义 podCidr。

  • 是的集群。但这并不容易。您必须更改整个集群中网络覆盖的 podCidr。这是一个可以完成的棘手过程,但如果您这样做,您还不如部署一个新集群。请记住,某些网络覆盖需要非常特定的 PodCidr。例如,Calico 需要 192.168.0.0/16

你可以:

  1. 使用新的 cidr 创建一个新的集群并逐渐移动您的工作负载。
  2. 更改您的 GoogleCloud Redis Memorystore 所在的 IP 地址 cidr。

希望对您有所帮助!

关于redis - Google Cloud Kubernetes 节点可能由于 IP 范围重叠而无法连接到 Redis Memorystore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52407653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com