我正在使用部署面向外部的服务,该服务暴露在节点端口后面,然后是一个入口。部署使用手动侧车注入。一旦部署,nodeport和ingress正在运行,我就可以向istio ingress发出请求。
由于某些未知原因,请求不会路由到我的部署,而是显示文本“no healthy upstream”。为什么会这样,是什么导致它?
我可以在http响应中看到状态代码是503(服务不可用),服务器是“envoy”。部署正在运行,因为我可以将端口映射到它,一切都按预期工作。
虽然这是由于不正确的Istio设置中的路由问题导致的一般性错误,但我将为遇到相同问题的任何人提供一般解决方案/建议。
在我的情况下,问题是由于错误的路由规则配置,Kubernetes本地服务正在运行,但Istio路由规则配置不正确,因此Istio无法从入口路由到服务。
当我的吊舱在ContainerCreating
州时,我遇到了这个问题。因此,它导致503错误。同样作为@pegaldon,解释说它也可能由于错误的路由配置或用户没有创建网关而发生。