问题描述
我目前在单节点集群测试环境中为我的 pod 使用 10.222.0.0/16
网络。
当我重新启动机器或重新部署 pod 时,它们会获得以前未使用过的第一个 IP 地址。我想通过为带有 calico 的 pod 分配静态 ip 来防止这种情况发生。
我怎样才能做到这一点?
解决方法
通常这种方法会违背 Kubernetes IP 层的动态特性。但是,在 Project Calico docs 中找到了一个解决方案:
为 Pod 选择 IP 地址,而不是让 Calico 选择 自动。
请记住:
您必须使用 Calico IPAM。
如果您不确定,请通过 ssh 连接到您的 Kubernetes 节点之一并检查 CNI 配置。
cat /etc/cni/net.d/10-calico.conflist
查找条目:
"ipam": {
"type": "calico-ipam"
},
如果存在,则您使用的是 Calico IPAM。如果 IPAM 设置为 别的东西,或者 10-calico.conflist 文件不存在,你 无法在您的集群中使用这些功能。