Как мне перенаправить трафик на внешний SFTP-сервер через порт в kubernetes nginx?

#nginx #kubernetes #service

#nginx #kubernetes #Обслуживание

Вопрос:

Конечная цель: иметь возможность sftp доступа к серверу domain.com:42150 с помощью маршрутизации через Kubernetes.

Причина: это поведение в настоящее время обрабатывается конфигурацией HAProxy, от которой мы отходим, но нам все равно нужно поддерживать это поведение в наших настройках Kubernetes.

Я наткнулся на это и не мог понять, как заставить это работать.

У меня есть IP-адрес sftp-сервера и порт.

Итак, в основном, если запрос поступает, 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
  

Очевидно, что это не работает. Я никогда не задаю здесь вопросов. Обычно мои ответы легко найти, но на этот я не могу найти ответ. Я просто застрял.

Я чего-то не понимаю? Я думаю, что этот способ сделать это невозможен. Есть ли лучший способ сделать это?

Комментарии:

1. Ваш кластер развернут в каком-либо облаке или он простой?

2. Он находится на Amazon EKS