Откройте другие порты больше, чем HTTP и HTTPS в Traefik Kubernetes Ingress - PullRequest
1 голос
/ 29 апреля 2020

Я получил Traefik как Ingress в Kubernetes с этой конфигурацией: https://github.com/RedxLus/traefik-simple-kubernetes/tree/master/V1.7

И хорошо работает с HTTP и HTTPS, но я не знаю, как открыть других порты для пересылки, например, Pod со входом с MySQL в порту 3306

Спасибо за каждый ответ!

Ответы [ 2 ]

1 голос
/ 29 апреля 2020

Traefik не поддерживает его, если вы используете ресурс Ingress, и этот ресурс не поддерживает тип трафика L4 c, как упоминалось в другом ответе.

Но если вы используете Nginx входной контроллер есть обходной путь, используйте ConfigMap с опциями входного контроллера --tcp-services-configmap и --udp-services-configmap, как описано здесь . Тогда ваш tcp-services ConfigMap будет выглядеть примерно так:

apiVersion: v1
kind: ConfigMap
metadata:
  name: tcp-services
  namespace: ingress-nginx
data:
  9000: "default/example-go:8080"

Преимуществом этого является наличие единой точки входа в ваш кластер (это относится к любому входу, который будет использоваться для TCP / UDP), но недостатком является наличие дополнительного уровня по сравнению с просто наличием Kubernetes Service (NodePort или LoadBalancer), который уже прослушивает порты TCP / UDP.

0 голосов
/ 29 апреля 2020

API Kubernetes Ingress не поддерживает его. Но можно использовать Traefik в качестве TCP-прокси для желаемого варианта использования, но только если вы используете зашифрованные соединения TLS. В противном случае, основываясь на протоколе уровня 4, невозможно различить guish между разными именами хостов, и вам придется использовать одну точку входа для каждого маршрутизатора TCP. Проверьте этот выпуск в GitHub.

...