nodePort是kubernetes提供给集群外部客户访问service入口的一种方式
port 是提供给集群内部客户访问service的入口
argetPort很好理解,targetPort是pod上的端口
总的来说,port和nodePort都是service的端口,前者暴露给集群内客户访问服务,后者暴露给集群外客户访问服务。从这两个端口到来的数据都需要经过反向代理kube-proxy流入后端pod的targetPod,从而到达pod上的容器内
svc ceshi: 1234 配置文件里面是port对应的端口
myapp:123:30001 123对应的是配置文件里面port对应的端口,30001是配置文件里面强制设置的nodePort对应的端口
- service的clusterip可以使用,使用方式serviceClusterIP:port(其他方式都不行),所有的节点都可以通过访问serviceClusterIP:port进行访问服务
- pod的clusterip进行访问,使用方式podClusterIP:targetport,但是每个节点只能使用自己节点的podClusterIP访问自己的pod
- node的ip进行访问,使用方式nodeIP:nodePort(如果nodePort没有指定,创建service会自动生成一个)