【发布时间】:2021-11-07 18:12:18
【问题描述】:
我创建了两个示例应用程序(tcp-server 和 tcp-client)来检查 istio 环境中的 TCP 连接。使用以下链接在 g0 中创建服务器和客户端
https://www.linode.com/docs/guides/developing-udp-and-tcp-clients-and-servers-in-go/
在 kubernetes 集群中部署了应用,并在没有 istio 的情况下进行了测试,它工作正常。
但是在安装了 istio 之后(demo 配置,按照这个 url 安装 istio:https://istio.io/latest/docs/setup/getting-started/), 并重新部署应用程序以填充 envoy-proxy,客户端未连接到服务器
同样使用下面的命令使服务器连接成功
sh -c "echo world | nc 10.244.1.29 1234" is
我做错了什么?
【问题讨论】:
-
也许您的应用在代理准备好之前进行了网络调用。见stackoverflow.com/questions/52936524/…和github.com/istio/istio/issues/11130#issuecomment-779300172
-
感谢您的回复。这不是这里的问题。这可以通过使用 holdApplicationUntilProxyStarts: true 覆盖 istioperator 来解决
-
我找到了解决方案。我尝试直接从客户端应用程序提供服务器的 IP 地址,但它不起作用,不知道为什么。现在我用服务器应用程序的 service_name 替换了 ip 地址,它正在工作
-
请发布您的解决方案作为答案。
标签: go kubernetes istio