Я установил свой Traefik с файлами по умолчанию из: https://docs.traefik.io/routing/providers/kubernetes-crd/#configuration-examples
Мой Ingressroute выглядит так:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
annotations:
name: traefik-test-ingressroute
namespace: default
spec:
entryPoints:
- traefik
routes:
- kind: Rule
match: Host(`test.domain.com`)
services:
- name: whoami
port: 80
Правило на приборной панели выглядит правильно. Он находит все конечные точки и подписывается как «Успех». Но когда я помещаю домен test.domain.com в свой браузер, я получаю 404. Я использую этот домен с IP-адресом балансировщика нагрузки AWS, созданного службой Traefik в моем / etc / hosts.
Traffik достигает Traefik, потому что в журналах я получаю такой журнал при каждой попытке подключения:
172.20.59.64 - - [29/Mar/2020:22:19:47 +0000] "GET / HTTP/2.0" - - "-" "-" 190 "-" "-" 0ms
172.20.59.64 - - [29/Mar/2020:22:19:49 +0000] "GET / HTTP/2.0" - - "-" "-" 191 "-" "-" 0ms
172.20.59.64 - - [29/Mar/2020:22:19:49 +0000] "GET / HTTP/2.0" - - "-" "-" 192 "-" "-" 0ms
172.20.59.64 - - [29/Mar/2020:22:19:49 +0000] "GET / HTTP/2.0" - - "-" "-" 193 "-" "-" 0ms
172.20.59.64 - - [29/Mar/2020:22:19:49 +0000] "GET / HTTP/2.0" - - "-" "-" 194 "-" "-" 0ms
172.20.59.64 - - [29/Mar/2020:22:21:09 +0000] "GET / HTTP/2.0" - - "-" "-" 195 "-" "-" 0ms
Я наконец решил проблему. Проблема была в моей конфигурации. Мы не добавляем службу traefik в конечную точку, а указываем имя конечной точки, настроенное в аргументах traefik, например:
--entryPoints.web.address=:80
поэтому конфигурация должна выглядеть так:
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
annotations:
name: traefik-test-ingressroute
namespace: default
spec:
entryPoints:
- web
routes:
- kind: Rule
match: Host(`test.domain.com`)
services:
- name: whoami
port: 80