Динамическое перенаправление с использованием входа - PullRequest
0 голосов
/ 05 сентября 2018

У меня 2 вопроса:

1) У меня есть кластер kubernetes с несколькими службами, и я хочу использовать вход для динамического перенаправления трафика в кластер.

Я ожидаю, что конфигурация будет выглядеть примерно так:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - path: /service1/*
        backend:
          serviceName: service1
          servicePort: 80
        path: /*
      - path: /service2/*
        backend:
          serviceName: service2
          servicePort: 80
        path:/*

Таким образом, я хочу, чтобы весь трафик к / service1 / endpoint был перенаправлен на s1: 80 / endpoint динамически.

2) Допустим, у меня есть 2 веб-сервиса - service1 и service2.

Я хочу, чтобы пользователи работали со следующим URL в своем браузере:

Кубэ / serviceN / конечная точка

Есть ли способ сделать это без перенаправления моих пользователей на service1 / endpoint?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Надеюсь, я правильно понял ваш вопрос, но если это так, то, что вы привели в качестве примера, довольно близко к цели. Приведенный ниже конфиг должен работать как описано.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - path: /service1/
        backend:
          serviceName: service1
          servicePort: 80
      - path: /service2/
        backend:
          serviceName: service2
          servicePort: 80

Удачи:)

0 голосов
/ 05 сентября 2018

Я считаю, что ваше определение входа почти правильное:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - path: /service1
        backend:
          serviceName: service1
          servicePort: 80
      - path: /service2
        backend:
          serviceName: service2
          servicePort: 80

Это должно работать, если вы правильно установили вход!

...