Kubernetes中端口名称如何解析?含Pod与Service配置示例
Kubernetes端口名称
app-port的解析逻辑 在你给出的配置里,app-port的解析是Kubernetes通过端口名称与协议绑定匹配的机制完成的,具体过程如下:
首先看Pod侧:容器端口配置里的
name: app-port是给容器内的TCP 8000端口设置的别名,Kubernetes会把这个名称和对应的containerPort(8000)、protocol(TCP)绑定,作为Pod的端口标识存储。再看Service侧:当
targetPort指定为app-port时,Kubernetes会执行两步匹配:- 先匹配协议:Service端口的协议(TCP)必须和Pod对应端口的协议完全一致,这里两者都是TCP,满足匹配条件。
- 再匹配端口名称:在后端Pod的容器端口列表中,找到名称完全等于
app-port的条目,将该条目对应的containerPort(也就是8000)作为实际的流量转发目标端口。
最终效果:当外部请求通过NodePort 32000或者Service的ClusterIP端口8000进来时,Kubernetes的服务转发组件(比如kube-proxy)会把流量转发到后端Pod中名称为
app-port的那个容器端口(即8000端口)上。
内容的提问来源于stack exchange,提问作者StuffHappens
相关产品推荐
相关产品推荐

