Kubernetes Service添加额外端口后全部失效问题求助
故障原因分析与修复方案
根因
当Kubernetes Service定义多个端口时,必须通过**端口名称(name字段)**来关联Service与Endpoints的对应端口。你当前的Endpoints配置中,端口条目没有指定name,但Service的两个端口都配置了name(p1、p2),导致Kubernetes无法正确建立端口映射关系,最终两个端口都无法正常转发流量。
注意:当Service只有单个端口时,Kubernetes可以通过端口号直接匹配Endpoints,不需要name字段;但多端口场景下,name是强制的关联标识。
修复方案
修改Endpoints配置,为每个端口添加与Service对应的name字段。由于你的两个Service端口最终都指向外部Postgres的5434端口,只需在Endpoints中添加两个带有对应名称的端口条目即可:
apiVersion: v1 kind: Endpoints metadata: name: postgres subsets: - addresses: - ip: 10.1.0.210 ports: - port: 5434 name: p1 - port: 5434 name: p2
应用修改后的配置后,Service的两个端口即可正常转发流量到外部Postgres实例。
内容的提问来源于stack exchange,提问作者Sebastian Dziedzic
相关产品推荐
相关产品推荐

