Kubernetes Service

完整域名

my-svc.my-namespace.svc.cluster.local

Port

apiVersion: v1
kind: Service
metadata:
  labels:
    name: app1
  name: app1
  namespace: default
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 30062
  selector:
    name: app1
--------------------- 
port

這裡的port表示:service暴露在cluster ip上的端口,:port 是提供給集群內部客戶訪問service的入口。

nodePort

nodePort是kubernetes提供給集群外部客戶訪問service入口的一種方式(另一種方式是LoadBalancer),所以,:nodePort 是提供給集群外部客戶訪問service的入口。

targetPort

targetPort很好理解,targetPort是pod上的端口,從port和nodePort上到來的數據最終經過kube-proxy流入到後端pod的targetPort上進入容器。