Использование nginx входных путей для перенаправления на несколько сервисов - PullRequest
0 голосов
/ 26 мая 2020

У меня есть кластер Azure k8s, в котором я хочу обслуживать две службы: Jenkins и мое собственное приложение узла. У меня есть docker изображений, и они работают правильно. Мне нужно получить доступ к mydomain.com / jenkins и увидеть мой экземпляр Jenkins. То же самое относится к mydomain.com / node и моему приложению node.

Первая проблема, с которой я столкнулся, заключается в том, что я мог видеть страницу html, но, например, css пытался загрузить в mydomain.com/css/style.css, а не в mydomain.com/ узел / css / style. css. Я исправил это с помощью моей текущей конфигурации входа:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
    annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /$2
    name: ingress
spec:
  rules:
  - host: domain.com
    http:
      paths:
      - path: /(jenkins)?/?(.*)
        backend:
            serviceName: jenkins-service
            servicePort: 8080

Это была моя ближайшая попытка. С этой конфигурацией я могу успешно получить доступ к Jenkins. Но если я добавлю другой путь для своего приложения узла, даже когда я получу доступ к mydomain.com / node , он перенаправит меня на Jenkins. Я знаю, что было бы намного проще сделать это с поддоменами, но мне специально сказали сделать это таким образом. Я застрял в этом весь день, поэтому буду благодарен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...