首页/云/Kubernetes 速查/Service NodePort 节点端口暴露
网络与服务55 条

Service NodePort 节点端口暴露

在每个节点上打开同一端口(默认 30000-32767),集群外可通过「任意节点 IP:端口」访问服务;便于测试与小型环境,端口管理成本较高。

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

NodePort Service

NodePort Service
apiVersion: v1
kind: Service
metadata:
  name: web-np
spec:
  type: NodePort
  selector:
    app: web
  ports:
    - port: 80
      targetPort: 8080
      nodePort: 30080        # 可省略,由集群自动分配

查看与访问

查看与访问
kubectl get svc web-np -o wide
kubectl get svc web-np -o jsonpath='{.spec.ports[0].nodePort}'
curl -s http://<任一节点IP>:30080/
NodePort 服务同时拥有 ClusterIP,集群内仍可用服务名访问;默认范围由 apiserver 的 --service-node-port-range 决定。

易错点

  • 云主机安全组/主机防火墙没放行 NodePort 范围时外网仍不通,排查要两头都看
  • 手动指定 nodePort 需避开已被占用端口且落在范围内,冲突时创建直接失败

数据来源与参考

  • Kubernetes 官方文档 · Service(NodePort)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌