【发布时间】:2021-09-21 06:33:22
【问题描述】:
我发现我的虚拟服务的重写功能不是很好。这是我的虚拟服务和 DestinationRule yaml 文件:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: leads-http
namespace: seldon
spec:
gateways:
- istio-system/seldon-gateway
hosts:
- '*'
http:
- match:
- uri:
prefix: /seldon/seldon/leads/
rewrite:
uri: /
route:
- destination:
host: leads-leads
port:
number: 8000
subset: leads
---
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: leads-leads
namespace: seldon
spec:
host: leads-leads
subsets:
- labels:
version: leads
name: leads
trafficPolicy:
connectionPool:
http:
idleTimeout: 60s
当我发送一个http请求时:
curl --location --request POST 'http://localhost/seldon/seldon/leads/v2/models/leads-lgb/versions/v0.1.0/infer'
我发现 istio-proxy 服务打印 404 not found in the logs:
"POST /seldon/seldon/leads/v2/models/leads-lgb/versions/v0.1.0/infer HTTP/1.1" 404
即使我期望:
POST /v2/models/leads-lgb/versions/v0.1.0/infer HTTP/1.1
我不确定发生了什么。有人有什么主意吗?谢谢!
【问题讨论】:
-
很奇怪。你的重写规则似乎是正确的。过几天再仔细看看。有趣的故事
-
同时..你能帮帮我吗? 1. 你的 istio 版本; 2.stackoverflow.com/a/63450007/9929015 中有 2 个 nginx pod 的工作示例。是否有可能部署这些清单并检查它是否对您有用?因为再次,你的规则对我来说看起来不错
标签: kubernetes cloud istio seldon