在 Kubernetes 中,Pod 的 IP 地址默认由 CNI 插件动态分配,无法直接通过原生配置实现完全静态 IP。实际场景中可通过以下方式实现近似效果:
- StatefulSet + Headless Service:通过 StatefulSet 固定 Pod 名称和网络标识,结合 Headless Service 提供稳定 DNS 记录,但 IP 仍可能在重建时变化。
- CNI 插件扩展:例如 Calico 支持通过
cni.projectcalico.org/ipAddrs
注解预留指定 IP,需提前在 IPAM 中配置固定池并确保 IP 未被占用。 - 云厂商方案:如 AWS ENI 直通、GCP 静态内部 IP,需结合厂商特定配置实现 Pod 级固定 IP。
- 第三方工具:如 Multus 多网卡方案或 Metallb(针对 LoadBalancer 类型),可辅助实现 IP 稳定性。 注意事项:静态 IP 需严格管理 IP 池,避免冲突;Pod 重建或节点故障时仍需结合调度策略保障 IP 一致性,可能引入运维复杂度。