欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

K8S中的Port

程序员文章站 2022-03-01 17:29:32
...

1、nodePort: 外部机器可访问的端口

2、targetPort:容器的端口(最根本的端口入口),与制作容器时暴露的端口一致(DockerFile中EXPOSE)

3、port: kubernetes中的服务之间访问的端口

apiVersion: v1
kind: Service
metadata:
  name: {{ include "common.servicename" . }}
  namespace: {{ include "common.namespace" . }}
  labels:
    app: {{ include "common.name" . }}
    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
    release: {{ .Release.Name }}
    heritage: {{ .Release.Service }}
spec:
  type: {{ .Values.service.type }}
  ports:
    {{if eq .Values.service.type "NodePort" -}}
    - port: {{ .Values.service.internalPort }}
      nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
    {{- else -}}
    - port: {{ .Values.service.externalPort }}
      targetPort: {{ .Values.service.internalPort }}
    {{- end}}
      name: {{ .Values.service.portName }}
  selector:
    app: {{ include "common.name" . }}
    release: {{ .Release.Name }}

 

参考:https://blog.csdn.net/xinghun_4/article/details/50492041

port、nodePort总结

总的来说,port和nodePort都是service的端口,前者暴露给集群内客户访问服务,后者暴露给集群外客户访问服务。从这两个端口到来的数据都需要经过反向代理kube-proxy流入后端pod的targetPod,从而到达pod上的容器内

相关标签: K8S