如何创建一个alb入口,使得只有"/“将重定向到在service-1中显示静态文件的服务。所有其他路径都应该重定向到服务2。它将托管类似以下内容的内容
spec:
rules:
- host: a.abc.com
http:
paths:
- path: /
backend:
serviceName: service-1
servicePort: 80
- path: /v1
backend:
serviceName: service-2/v1
servicePort: 9090我知道我不能在serviceName上使用service-2/v1,但我想将/v1映射到service-2:9090/v1。
我在service-1(nginx)中托管一些静态文件,我想在/上显示这些文件,然后/v1和/admin在我的另一个服务(即service-2/v1和service-2/admin)上。
发布于 2020-07-22 20:06:43
服务和任何其他资源的名称不能包含here中解释的/和%,如果您想要部署它,它将显示以下错误:
metadata.name: Invalid value: "demo/v1": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
因此,除了可以在单个Ingress定义中指定多个路径外,还必须考虑更改服务的名称:
spec:
rules:
- host: a.abc.com
http:
paths:
- path: /
backend:
serviceName: service-1
servicePort: 80
- path: /v1
backend:
serviceName: service-v1
servicePort: 9090
- path: /admin #additional path
backend:
serviceName: service-admin #service name pointing to /admin
servicePort: 9091 #port it will be accessible onhttps://stackoverflow.com/questions/63010756
复制相似问题