apiVersion: v1kind: Servicemetadata:labels:name: app1name: app1namespace: defaultspec:type: NodePortports:- port: 8080targetPort: 8080nodePort: 30062selector:name: app1
Port:
service暴露在cluster ip上的端口,
nodePort:
nodePort是kubernetes提供给集群外部客户访问service入口的一种方式(另一种方式是LoadBalancer),所以,
targetPort:
targetPort是pod上的端口,从port和nodePort上到来的数据最终经过kube-proxy流入到后端pod的targetPort上进入容器。
总的来说,port和nodePort都是service的端口,前者暴露给集群内客户访问服务,后者暴露给集群外客户访问服务。从这两个端口到来的数据都需要经过反向代理kube-proxy流入后端pod的targetPod,从而到达pod上的容器内。
