首页 > 解决方案 > 如何通过 kubernetes nginx 中的端口将流量路由到外部 SFTP 服务器?

问题描述

最终目标:能够通过 Kubernetes 使用路由sftp进入服务器。domain.com:42150

原因:此行为当前由我们正在远离的 HAProxy 配置处理,但我们仍需要在 Kubernetes 设置中支持此行为。

我遇到了这个,无法弄清楚如何让它工作。

我有 sftp 服务器的 IP 和端口。

所以,基本上如果有请求进来,domain.com:42150那么它应该连接到external-ip:22

我创建了一个类似于链接文章中的配置映射:

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: nginx-ingress
data:
  42150: "nginx-ingress/external-sftp:80"

据我了解,应该将请求路由到端口 42150 到此服务:

apiVersion: v1
kind: Service
metadata:
  name: external-sftp
  namespace: nginx-ingress
spec:
  type: LoadBalancer
  ports:
    - port: 80
      targetPort: 22
      protocol: TCP

虽然那篇文章中没有列出它,但我知道通过连接到其他外部服务,我需要创建一个端点来使用。

apiVersion: v1
kind: Endpoints
metadata:
  name: external-sftp
  namespace: nginx-ingress
subsets:
  - addresses:
      - ip: 12.345.67.89
    ports:
      - port: 22
        protocol: TCP

显然这是行不通的。我从不在这里提问。通常我的答案很容易找到,但我找不到这个答案。我只是卡住了。

有什么我想念的吗?我认为这种方式是不可能的。有没有更好的方法来做到这一点?

标签: nginxkubernetesservice

解决方案


推荐阅读