首页/云/Kubernetes 速查/Service 字段变更注意事项
网络与服务55 条

Service 字段变更注意事项

Service 更新受限:clusterIP 不可变;type 可在 ClusterIP/NodePort/LoadBalancer 间切换但语义有差异;已分配的 nodePort 会尽量保留。

Kubernetes 速查云更新于 2026-10-12

变更

变更是否允许说明
改 clusterIP不允许需删除重建,IP 会变化
ClusterIP → NodePort/LoadBalancer允许自动分配 nodePort
NodePort → ClusterIP允许节点端口被释放
改 selector / ports允许触发 Endpoints 重算

安全变更示例

安全变更示例
kubectl patch svc web -p '{"spec":{"type":"NodePort"}}'
kubectl get svc web -o wide
kubectl diff -f svc.yaml
删除重建 Service 会改变 ClusterIP:依赖固定 IP 的旧应用会断,优先用 DNS 名或 headless 方案解耦。

易错点

  • type 切回 ClusterIP 时 nodePort 通常被释放,外部依赖该端口的中断,需提前通知
  • LoadBalancer 切出再切回可能触发云 LB 重建,产生新的外部地址

数据来源与参考

  • Kubernetes 官方文档 · Service(更新与不可变字段)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌