Как получить два входных порта, доступных для одного сервиса, с помощью контроллера NGINX kubernetes - PullRequest
0 голосов
/ 05 февраля 2019

У нас есть одна служба, которая имеет два открытых порта - один для сервера, а второй для управления.В кластере Kubernetes работает контроллер NGINX.Есть ли способ выставить оба порта сервиса в файле Ingress YAML?Подробности: Сервисный порт сервера: 8081 Сервисный порт управления: 8082 Мы попробовали использовать два «бэкенда» в входном файле YAML, но он работает только для порта по умолчанию, равного 80, и не работает для любого другого порта.Файл ingress.yml имеет следующий вид:

kind: Ingress
apiVersion: extensions/v1beta1
metadata:
  name: bw-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
   - host: my.host.net
     http:
      paths:
      - path: "/controller/"
        backend:
          serviceName: bw-svc1
          servicePort: 80
       - path: "/actuator/"
         backend:
           serviceName: bw-svc2
           servicePort: 5612

1 Ответ

0 голосов
/ 05 февраля 2019

Уровень отступа обоих путей не одинаков в вашем примере конфигурации.

Кроме того, ваш конфиг выглядит правильно и должен приводить к следующему поведению:

  1. Весь приходящий трафикв кластер через my.host.net/controller будет отправлено на сервис bw-svc1:80
  2. Весь трафик, поступающий в кластер через my.host.net/actuator, будет отправлен на сервис bw-svc2:5612

Если этоэто не то, что вы хотели бы достичь, не могли бы вы перефразировать ваш вопрос?

...