Kubernetes Service定义了这样一种抽象:一个Pod的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。这一组Pod能够被Service访问到,通常是通过Label Selector,Kubernetes Service定义了这样一种抽象:一个Pod的逻辑分组,一种可以访问它们的策略 —— 通常称为微服务。这一组Pod能够被Service访问到,通常是通过Label Selector

    NodePort的原理在于在 node 上开了一个端口,将向该端口的流量导入到 kube-proxy,然后由 kube-proxy 进一步到给对应的 pod。把内部端口暴露出来,通过主机的ip+端口的方式可以被外部访问。

    1. apiVersion: v1
    2. kind: Service
    3. metadata:
    4. name: mynode
    5. namespace: default
    6. spec:
    7. type: NodePort
    8. selector:
    9. app: myapp #找到上面的deployment的spec.selector.matchLabels,也就是上面pod里面定义的模版里面的template.metadata.labels信息
    10. release: stabel
    11. ports:
    12. - name: http
    13. port: 80
    14. targetPort: 80