如何在Kubernetes Ingress中配置两种服务的路径?
问题描述:
我有以下入口配置,但当我打电话给www.domain.com/api
时,它总是打开我的UI服务而不是API,如果我在api例如www.domain.com/api/v1/projects
之后调用别的东西,也会发生同样的情况。如何在Kubernetes Ingress中配置两种服务的路径?
我该如何解决这个问题?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
spec:
tls:
- secretName: tls
backend:
serviceName: ui
servicePort: 5003
rules:
- host: www.domain.com
http:
paths:
- path:/
backend:
serviceName: ui
servicePort: 5003
- path: /api
backend:
serviceName: api
servicePort: 5000
答
这是我解决这个问题的方法。我希望这可以帮助别人。
谢谢@aleks!
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kronus
spec:
tls:
- secretName: tls
backend:
serviceName: ui
servicePort: 5003
rules:
- host: domain.com
http:
paths:
- path: /api
backend:
serviceName: api
servicePort: 5000
- path: /api/*
backend:
serviceName: api
servicePort: 5000
- host: www.domain.com
http:
paths:
- path: /api
backend:
serviceName: api
servicePort: 5000
- path: /api/*
backend:
serviceName: api
servicePort: 5000
如何删除默认的后台 '后台: 服务名:UI SERVICEPORT:5003'。 https://kubernetes.io/docs/user-guide/ingress/#single-service-ingress。我想你会需要简单的扇出设置https://kubernetes.io/docs/user-guide/ingress/#simple-fanout – Aleksandar