gpt4 book ai didi

azure - Kubernetes 容器中的自托管 net.tcp wcf 通过 kubernetes 的负载均衡器 IP 访问

转载 作者:行者123 更新时间:2023-12-03 01:25:05 26 4
gpt4 key购买 nike

我使用 net.tcp 绑定(bind)控制台应用程序自行托管了 .NET Framework 4.x 版本的 WCF,该应用程序作为自托管 WCF 服务在 Azure k8s 容器中运行

暴露为net.tcp://CONTAINERIP:5000/WCFServiceName

并且端口 5000 通过负载均衡器类型入口服务公开

因此客户端将像下面一样访问此服务

net.tcp://LoadBalancerIP:5000/containerAppName/WCFServiceName

但是使用负载均衡器 IP 不会将请求转发到容器 - 出现错误。

'net.tcp://LoadBalancerIp:5000/ContainerAppName/WCFServiceName 上没有监听端点可以接受该消息。这通常是由不正确的地址或 SOAP 操作引起的。有关详细信息,请参阅 InnerException(如果存在)。'

LBYaml

spec:
clusterIP: IP.ADDRESS.OF.CLUSTER
externalTrafficPolicy: Cluster
ports:
- name: nettcp
nodePort: 30412
port: 5000
protocol: TCP
targetPort: 5000
selector:
app: CONTAINERAPPNAME
sessionAffinity: None
type: LoadBalancer
status:
loadBalancer:
ingress:
- ip: LB.PUBLIC.IP.ADDRESS

有什么想法或建议吗?

最佳答案

感谢大家的投入,

问题原因已找到,由于应用是使用LoadBalancer类型的服务部署的,所以不需要在URL中提供APP Name。

当外界访问该服务时:

net.tcp://LoadBalancerIP:5000/containerAppName/WCFServiceName - 不起作用

net.tcp://LoadBalancerIP:5000/WCFServiceName - 这有效! (解决方案)

当我们进行自托管时,我们需要在 URI 框架中包含应用程序名称来托管 WCF TCP 服务。

关于azure - Kubernetes 容器中的自托管 net.tcp wcf 通过 kubernetes 的负载均衡器 IP 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66569971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com