Как направить TCP-трафик извне к Сервису внутри кластера Kubernetes? - PullRequest
0 голосов
/ 22 октября 2018

У меня есть кластер на Azure (AKS).У меня есть orientdb служба

apiVersion: v1
kind: Service
metadata:
  name: orientdb
  labels:
    app: orientdb
    role: backend
spec:
  selector:
    app: orientdb
  ports:
  - protocol: TCP
    port: 2424
    name: binary
  - protocol: TCP
    port: 2480
    name: http

, которую я хочу выставить извне, чтобы приложение из Интернета могло отправлять трафик TCP напрямую в эту службу.

(Чтобы подключиться к orientdb, вам нужно подключиться через TCP к порту 2424)

Я плохо разбираюсь в сетях, так что это мое понимание, которое также может быть неверным.Я попробовал следующее:

  1. Настройка Ingress
    • не сработала, потому что вход обрабатывает http, но не подходит для tcp.
  2. Я попытался установить поле ExternalIP в конфигурации службы в определении NodePort
    • не работает.

Поэтому моя проблема заключается в следующем:
Я не могу отправить tcp-трафик в сервис. Http-трафик работает нормально.

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

Заранее спасибо.

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете использовать как службу типа Loadbalancer (я предполагаю, что AKS поддерживает это), так и просто использовать порт узла.

kubectl expose deployment hello-world --type=LoadBalancer --name=my-service

kubectl get services my-service

Вывод похож на это:

NAME         TYPE        CLUSTER-IP     EXTERNAL-IP      PORT(S)    AGE
my-service   ClusterIP   10.3.245.137   104.198.205.71   8080/TCP   54s

Ссылка здесь

Использование kubectl:

Usage
$ expose (-f FILENAME | TYPE NAME) [--port=port] [--protocol=TCP|UDP|SCTP] [--target-port=number-or-name] [--name=name] [--external-ip=external-ip-of-service] [--type=type]

Вы можете использовать опции --port= 2424 --target-port= 2424 для правильных портов в команде kubectl expose выше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...