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會自動生成一個)