Kubernetes 如何使用一个80端口在一个入口中公开多端口服务
我想在一个80端口中通过入口公开我的两个API服务 apiVersion:v1 种类:服务 元数据: 名称:我的api 规格: 选择器: 应用程序:我的api 端口: -姓名:api1 港口:3000 目标港:3000 -姓名:api2 港口:4000 目标港:4000 --- apiVersion:networking.k8s.io/v1beta1 种类:入口 元数据: 名称:应用程序入口 注释: nginx.ingres.kubernetes.io/rewrite-target://2美元 规格: tls: -主持人: -example.com secretName:app tls 规则: -主持人:example.com http: 路径: -路径:/my api(/|$)(*) 后端: serviceName:MyAPI 服务端口:80Kubernetes 如何使用一个80端口在一个入口中公开多端口服务,kubernetes,kubernetes-ingress,nginx-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,我想在一个80端口中通过入口公开我的两个API服务 apiVersion:v1 种类:服务 元数据: 名称:我的api 规格: 选择器: 应用程序:我的api 端口: -姓名:api1 港口:3000 目标港:3000 -姓名:api2 港口:4000 目标港:4000 --- apiVersion:networking.k8s.io/v1beta1 种类:入口 元数据: 名称:应用程序入口 注释: nginx.ingres.kubernetes.io/rewrite-target://2美元
但是当我试图到达
https://example.com/my-api
,它总是返回503状态代码。servicePort:80
并不意味着nginx入口正在端口80
上服务。这实际上是后端服务上的端口,听起来您有两个端口:3000
和4000
默认情况下,nginx入口控制器在端口80
上工作,如果您也启用了TLS或/和443
。在您的情况下,如果您想为这两个API提供服务,您可以简单地分离路径
apiVersion:networking.k8s.io/v1beta1
种类:入口
元数据:
名称:应用程序入口
注释:
nginx.ingres.kubernetes.io/rewrite-target://2美元
规格:
tls:
-主持人:
-example.com
secretName:app tls
规则:
-主持人:example.com
http:
路径:
-路径:/my-api1(/|$)(.*)
后端:
serviceName:MyAPI
服务端口:3000
-路径:/my-api2(/|$)(.*)
后端:
serviceName:MyAPI
服务端口:4000
✌️
servicePort:80
并不意味着nginx入口服务于端口80
。这实际上是后端服务上的端口,听起来您有两个端口:3000
和4000
默认情况下,nginx入口控制器在端口80
上工作,如果您也启用了TLS或/和443
。在您的情况下,如果您想为这两个API提供服务,您可以简单地分离路径
apiVersion:networking.k8s.io/v1beta1
种类:入口
元数据:
名称:应用程序入口
注释:
nginx.ingres.kubernetes.io/rewrite-target://2美元
规格:
tls:
-主持人:
-example.com
secretName:app tls
规则:
-主持人:example.com
http:
路径:
-路径:/my-api1(/|$)(.*)
后端:
serviceName:MyAPI
服务端口:3000
-路径:/my-api2(/|$)(.*)
后端:
serviceName:MyAPI
服务端口:4000
✌️