我正在测试自己的入口,并出于测试目的删除了以下两个网关。
kubectl delete gateway istio-autogenerated-k8s-ingress -n istio-system
kubectl delete gateway istio-system-gateway -n istio-system
此后,对于我通过upstream connect error or disconnect/reset before headers
访问的所有网址,我都会遇到这个错误ingress-gateway
。
相关吗?如果相关,如何重新设置? 如果没有,该如何调试呢?
我已尝试按照此https://cloud.google.com/kubernetes-engine/docs/tutorials/installing-istio重新安装istio。 但是,它不起作用,也没有重新创建两个网关。
答案 0 :(得分:1)
如here所述,您应该检查名称空间是否正确标记为istio-injection = enabled
kubectl describe ns <your namespace>
如果没有,请添加正确的标签:
kubectl label namespace <your namespace> istio-injection=enabled
答案 1 :(得分:0)
您可以通过查看istio-ingressgateway容器日志来调试它。
答案 2 :(得分:0)
您始终可以按照本教程中列出的Istio发行文件的kubectl apply -f [...]
步骤来重新安装同一Istio发行版。这应该还原那些已删除的系统对象。
侧注:永远不要从名为*-system
的命名空间中删除内容。
答案 3 :(得分:0)
这很可能与DOCKER中运行的应用程序与DOCKER配置中公开的端口不同的端口不匹配
Docker文件EXPOSE <PORT>
应该与启动应用程序的端口相同。
Istio Ingress网关可以绑定到容器端口,但不能与应用程序通信。