带有 calico cni

问题描述

我目前在单节点集群测试环境中为我的 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 文件不存在,你 无法在您的集群中使用这些功能。