Traefik v2 Middlewares не обнаруживается - PullRequest
0 голосов
/ 01 ноября 2019

Промежуточное программное обеспечение не обнаруживается, и поэтому пути не удаляются, что приводит к 404-ым параметрам в интерфейсе сервера.

Промежуточное программное обеспечение существует в пространстве имен приложений k8s

$ kubectl get -n apps middlewares
NAME                                                AGE
traefik-middlewares-backend-users-service           1d

конфигурация для промежуточного программного обеспечения и входного маршрута

---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  annotations:
    kubernetes.io/ingress.class: traefik
  name: apps-services
  namespace: apps
spec:
  entryPoints:
    - web
  routes:
    - kind: Rule
      match: Host(`example.com`) && PathPrefix(`/users/`)
      middlewares:
        - name: traefik-middlewares-backend-users-service
      priority: 0
      services:
        - name: backend-users-service
          port: 8080
---
apiVersion: traefik.containo.us/v1alpha1
kind: Middleware
metadata:
  name: traefik-middlewares-backend-users-service
  namespace: apps
spec:
  stripPrefix:
    prefixes:
      - /users

Статическая конфигурация

global:
  checkNewVersion: true
  sendAnonymousUsage: true
entryPoints:
  http:
    address: :80
  traefik:
    address: :8080
providers:
  providersThrottleDuration: 2s
  kubernetesIngress: {}
api:
  # TODO: make this secure later
  insecure: true
ping:
  entryPoint: http
log: {}

На панели управления Traefik нет промежуточного программного обеспечения

traefik v2 dashboard

Пружинный пыльник 404 с. Маршрут находится на example.com/actuator/health

/users не удаляется. Это отлично сработало для меня в traefik v1.

Примечание: реальный домен был заменен на example.com и domain.com в примерах.

spring boot 404 page

1 Ответ

0 голосов
/ 04 ноября 2019

Чтобы это работало, мне нужно было:

  1. Добавить поставщика CRD Kubernetes с пространствами имен, в которых существуют пользовательские CRD k8s для traefik v2
  2. Добавить определение ресурса TLSOption
  3. Обновление роли кластера для traefik, чтобы иметь разрешения для просмотра и просмотра новых ресурсов v2
  4. Убедитесь, что все пространства имен с новыми ресурсами настроены

Файл статической конфигурации Traefik

providers:
  providersThrottleDuration: 2s
  kubernetesCRD:
    namespaces:
      - apps
      - traefik

TLSOption CRD

---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: tlsoptions.traefik.containo.us
spec:
  group: traefik.containo.us
  version: v1alpha1
  names:
    kind: TLSOption
    plural: tlsoptions
    singular: tlsoption
  scope: Namespaced

Обновлена ​​статическая конфигурация для Traefik

global:
  checkNewVersion: true
  sendAnonymousUsage: true
entryPoints:
  http:
    address: :80
  traefik:
    address: :8080
providers:
  providersThrottleDuration: 2s
  kubernetesCRD:
    namespaces:
      - apps
      - traefik
api:
  # TODO: make this secure later
  insecure: true
ping:
  entryPoint: http
log: {}
...