如何解决k8s应用容器中出站请求中的连接拒绝错误伊斯蒂奥?
已更新
我有一些脚本可以初始化我们的服务。
该脚本在容器中运行时失败,因为该脚本的第一个出站请求(到外部服务)出现 拒绝连接 错误。
我们尝试添加一个使curl弯曲的循环,如果失败,请重试(如果不是)-连续执行脚本。
有时它是第一次成功,有时它会连续失败10-15次。
我们最近开始使用istio
可能是什么原因?
解决方法
istio 1.7附带了一项新功能,该功能可将吊舱配置为首先启动侧斗,并保持所有其他容器,直到侧斗启动。
只需将values.proxy.holdApplicationUntilProxyStarts
设置为true。
请注意,该功能仍处于试验阶段。
,这是一个著名的istio错误https://github.com/istio/istio/issues/11130(在Istio的sidecar完全运行之前,应用程序容器无法连接到网络)似乎Istio代理将不会并行启动,它正在等待应用程序容器准备就绪。一位博客作者提到的连续启动顺序(https://medium.com/@marko.luksa/delaying-application-start-until-sidecar-is-ready-2ec2d21a7b74)引用:most Kubernetes users assume that after a pod’s init containers have finished,the pod’s regular containers are started in parallel. It turns out that’s not the case.
容器将按照部署规范YAML定义的顺序启动。 因此,最大的问题是,当第一个容器卡在curl-loop中时,Istio代理特使是否会启动? (鸡蛋和鸡肉问题)。 应用容器脚本执行:
until curl --head localhost:15000 ; do echo "Waiting for Istio Proxy to start" ; sleep 3 ; done
据我所见,:该脚本没有帮助。代理已启动,但与外部主机名的连接返回“连接被拒绝”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。