Kubernetes 使用tcp服务时无法到达内部终结点

Kubernetes 使用tcp服务时无法到达内部终结点,kubernetes,nginx-ingress,Kubernetes,Nginx Ingress,我有一个问题,几天来一直被阻止。尝试了很多东西,但都没有成功 我有一个k8s集群,里面有一个运行corda的吊舱。这个pod公开了一个RPC端点10201,我希望能够使用corda shell工具从集群外部访问我的笔记本电脑 因此,我使用ingress nginx创建了一个入口,并添加了一个如下所示的配置映射: apiVersion: v1 kind: ConfigMap metadata: name: {{ .Release.Name }}-tcp-services namespace

我有一个问题,几天来一直被阻止。尝试了很多东西,但都没有成功

我有一个k8s集群,里面有一个运行corda的吊舱。这个pod公开了一个RPC端点10201,我希望能够使用corda shell工具从集群外部访问我的笔记本电脑

因此,我使用ingress nginx创建了一个入口,并添加了一个如下所示的配置映射:

apiVersion: v1
kind: ConfigMap
metadata:
  name: {{ .Release.Name }}-tcp-services
  namespace: {{ .Release.Namespace }}
data:
  10201: {{ .Release.Namespace }}/{{ .Release.Name }}-corda-node:10201
corda吊舱的service.yaml如下所示:

apiVersion: v1
kind: Service
metadata:
  name: {{ include "corda-node.fullname" . }}
  labels:
{{ include "corda-node.labels" . | indent 4 }}
spec:
  type: ClusterIP
  ports:
    - port: 80
      targetPort: http
      protocol: TCP
      name: http
    - port: 10200
      targetPort: p2p
      protocol: TCP
      name: p2p
    - port: 10201
      targetPort: rpc
      protocol: TCP
      name: rpc
    - port: 10202
      targetPort: rpcadmin
      protocol: TCP
      name: rpcadmin
  selector:
    app.kubernetes.io/name: {{ include "corda-node.name" . }}
    app.kubernetes.io/instance: {{ .Release.Name }}
但到目前为止,无论我尝试了什么,我都无法从外部连接到它。 从集群中的另一个pod/容器,它工作正常,与我将端口转发到本地服务器时一样

注意:我可以从外部连接到群集中的其他服务。事实上,这个corda吊舱有一个侧车,它在8080上公开了一个API,我可以访问它

我可以看到端口“10201”被入口暴露,所以我猜它考虑了我的tcp服务,但似乎无法将请求转发到corda pod

若我尝试对cluter 10201执行telnet公共ip,我只是有一个超时。 运行corda shell工具时也是如此

据我所知,入口控制器吊舱中没有相关日志

我使用各种“kubectl descripe xxx”命令创建了一个脚本,以便让您概括了解我所做的工作

如果你需要更多的信息,就问我。我真的很挣扎,很可能我在某个地方做了些傻事

谢谢

编辑:

我把入口的日志放在--v=3上,当它开始时我可以看到:

I0215 09:30:32.081819 6控制器。转到:333]搜索端点 使用TCP端口号10201进行服务 三文鱼蝗虫/三文鱼蝗虫科达节科达节 │ │ I0215 09:30:32.081836 6终结点。转到:74]获取终结点 用于服务鲑鱼蝗虫/鲑鱼蝗虫corda node corda node和 端口和服务端口{名称:rpc,协议:TCP,端口:10201,目标端口:{1 0 rpc},节点端口:0,}│ │ I0215 09:30:32.081849 6 端点。转到:117]找到服务的端点 鲑鱼蝗虫/鲑鱼蝗虫科达节科达节:[{10.96.1.13] 10201 &ObjectReference{Kind:Pod,命名空间:salmon Occust,名称:salmon Occust corda node corda- │

但当我试图通过corda tools外壳连接到它时,没有任何活动

编辑2:


我们找到了问题所在,入口->dns解析到cloudflare代理,该代理未处理1xxxx端口…

入口日志中是否有任何传入请求?入口可能正在查找http头,该头可能无法正常工作Corda RPC

我们找到了问题所在,入口->dns解析到cloudflare代理,但该代理未处理处理1xxxx端口…

您能提供入口资源yaml吗?请将您的编辑2作为一个解决方案发布,因为它可能对社区有益。我今天早上再次尝试,在尝试连接到它时,我在日志中没有看到活动,因此我怀疑它确实被入口阻止/吞没。我添加了唯一的版本蚂蚁日志我可以看到入口