在 Kubernetes 中,Pod 默认使用动态 IP,但可通过以下方式实现静态 IP:
- 使用 StatefulSet 并搭配 Headless Service,结合支持固定 IP 的 CNI 插件(如 Calico、Cilium);
- 在 Pod 的
annotations
中指定 IP(需 CNI 插件支持,例如 Calico 的cni.projectcalico.org/ipAddrs
)。
延伸知识点:Calico 的静态 IP 配置 Calico 的 IPAM 支持为 Pod 分配固定 IP。操作步骤:
- 创建 IP 池:定义 CIDR 范围,禁用自动分配;
- 在 Pod 的
annotations
中添加cni.projectcalico.org/ipAddrs: ["10.0.0.5"]
; - 确保 Pod 调度到具有该 IP 池的节点。 此机制通过 Calico 的 CNI 插件拦截 IP 分配请求,优先使用注解中的 IP,若冲突则启动失败。需注意 IP 需在池内且未被占用。