Traefik 1.7 Kubernetes проблема с входящим http-перенаправлением

Я использую Traefik 1.7 в кластере Oracle K8s. Для этого теста я использовал внутренний балансировщик нагрузки. Когда я использую только http, Traefik работает нормально. Я могу получить доступ к своему сервису. Также нет проблем использовать только https. Проблема в том, что я пытаюсь использовать https в сочетании с http-redirect. Для своего теста я создал самоподписанные сертификаты. Вот мое определение входа:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: kubia-ingress
  labels:
    app: kubia
  annotations:
    kubernetes.io/ingress.class: traefik
spec:
  defaultBackend:
    service:
      name: kubia
      port:
        number: 80
  rules:
    - host: xxx.yyy.org
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: kubia
                port:
                  number: 80

Я могу получить доступ к моему сервису k8s без traefik. Я также могу получить доступ к моей службе через https с curl --insecure https://xxx.yyy.org

В журнале traeffik-controller-log я вижу в этом случае:

10.244.0.128 - - [22/Mar/2021:14:57:01 +0000] "GET / HTTP/2.0" 200 23 "-" "curl/7.61.1" 6 "xxx.yyy.org/" "http://10.244.0.7:8080" 4ms

Но когда я звоню напрямую curl --insecure https://xxx.yyy.org, я получаю в качестве ответа: Найдено и в журнале вижу:

10.244.0.128 - - [22/Mar/2021:14:56:55 +0000] "GET / HTTP/1.1" 302 5 "-" "curl/7.61.1" 5 "entrypoint redirect for http" "/" 0ms

Моя конфигурация traefik относительно http-redirect:

   [entryPoints]
      [entryPoints.http]
      address = ":80"
      [entryPoints.http.redirect]
      regex = "^http://(.*)"
      replacement = "https://$1"

или я тоже пробовал

   [entryPoints]
      [entryPoints.http]
      address = ":80"
      [entryPoints.http.redirect]
         entryPoint = "https"

Оба не работают. Я также попытался использовать несколько аннотаций во входящем компоненте, но безуспешно. В чем проблема? Насколько я понимаю, я могу глобально настроить http-redirect в traefik-toml на вход через аннотации во входе. Но как-то не получается.

Любые советы приветствуются!


person Thomas Seehofchen    schedule 23.03.2021    source источник


Ответы (1)


Обратитесь к Kubernetes Ingress Provider, это может быть полезно.

person Anupam Sinha    schedule 23.03.2021