Как включить маршрутизацию трафика для серверов frontend + backend в кластере kubernetes (входной контроллер traefik + k8s) - PullRequest
0 голосов
/ 01 мая 2018

Я ищу рецепт, как настроить входной контроллер traefik и kubernetes для использования пользовательских серверов внешнего и внутреннего интерфейса. Это не внешние интерфейсы и серверные части, используемые в traefik, а серверы приложений, которые мы хотим развернуть на k8s. Чтобы прояснить идею, вот как должен выглядеть запрос клиента:

Клиент выполнит вызов http://a.b.c.com/app?params=bla Сначала он должен быть перенаправлен на наш интерфейсный сервер для аутентификации, а затем на / app серверный сервер для обслуживания его / ее запроса.

Я думал о следующей конфигурации:

Установить точку входа traefik равной 443

[entryPoints]
 [entryPoints.http]
 address = ":80"
   [entryPoints.http.redirect]
    entryPoint = "https"
 [entryPoints.https]
 address = ":443"
  [entryPoints.https.tls]
    [[entryPoints.https.tls.certificates]]
    CertFile = "/ssl/server.crt"
    KeyFile = "/ssl/server.key"

это перенаправит трафик на порт 443. Во входном контроллере я могу указать путь / к нашему внешнему серверу, работающему на k8s, и / app для указания на наш внутренний сервер, например,

  rules:
  - host: "a.b.c.com"
    http:
      paths:
      - path: /
        backend:
          serviceName: frontend
          servicePort: 443
      - path: /app
        backend:
          serviceName: app
          servicePort: 8888

Проблема в том, что я не знаю, будет ли это работать, так как я определяю пути: / и / app во входном контроллере, а позже это подпуть первого. Но я хочу действительно перенаправить трафик на внешний сервер приложений, работающий через порт 443. Затем (после аутентификации пользователей) перенаправить трафик на серверный путь / путь к приложению.

Любой совет?

Спасибо, Валентин.

...