在Kubernetes中,Pod默认采用动态IP分配机制,但若需静态IP,可通过以下方案实现:
- CNI插件定制:如Calico/Cilium等支持固定IP的CNI插件,通过Pod注解(如
cni.projectcalico.org/ipAddrs: '["10.10.0.100"]'
)指定IP。 - StatefulSet+Headless Service:结合StatefulSet的稳定标识和Headless Service的DNS解析,虽IP仍可能变化,但可通过服务名访问。
- 云厂商方案:部分云平台(如Azure/GCP)支持通过Annotation直接绑定静态IP。
- 网络策略约束:需确保IP未被占用且属于集群CIDR范围,并通过NetworkPolicy限制IP冲突风险。 注意:静态IP违背K8s设计理念,可能导致运维复杂性,建议优先使用Service抽象层而非依赖Pod IP。