Kubernetes: замените mod_cluster для внутренних служб (обратный прокси) - PullRequest
0 голосов
/ 13 июня 2018

Я перенесу свой текущий сервис в Кубернетес.В настоящее время внутренние службы разрешаются через mod_cluster.Диспетчер кластеров модов работает на httpd, а клиенты mod_cluster автоматически регистрируют свои веб-контексты с помощью диспетчера httpd / mod_cluster при запуске

user-->ingress-rule--> httpd [running mod_cluster manager]--> Jboss[mod_cluster clients]

Я разрешаю свой пользовательский интерфейс с помощью следующего правила доступа

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: httpd
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
  rules:
  - host: myk8s.myath.myserv.com
    http:
      paths:
      - path: /
        backend:
          serviceName: httpd
          servicePort: 443
  tls:
  - hosts:
    - myk8s.myath.myserv.com

Это работаетхорошо, разрешает пользовательский интерфейс, может войти и разрешить все статическое содержимое и т. д.

Мод кластер предоставляет такие службы, как myservice.Я отключил mod_cluster и создал службу Kubernetes myservice, которая разрешила внутреннему модулю Pod думать, что правило Ingress получит запрос до httpd, а затем httpd сможет разрешить службу backend через Kubernetes, но я получу 404s какЯ не могу решить myservice

Служба может быть разрешена с помощью правил обратного прокси-сервера, таких как ниже, но это не предпочтительное решение

# Redirect to myjbossserv
ProxyPass /myservice/services/command/  http://myjbossserv:8080/myservice/services/command/          <-----myjbossserv is a service registered in kubernetes
ProxyPassReverse /myservice/services/command/  http://myjbossserv:8080/myservice/services/command/

Любая помощь, высоко ценимая

1 Ответ

0 голосов
/ 07 января 2019

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

# Redirect to myjbossserv
ProxyPass /myservice/services/command/  http://myjbossserv:8080/myservice/services/command/          <-----myjbossserv is a service registered in kubernetes
ProxyPassReverse /myservice/services/command/  http://myjbossserv:8080/myservice/services/command/
...