Выставить порт tomcat пода

У меня есть модуль kubernetes на голом металле, на котором запущено приложение tomcat на порту 8085. Если бы это был общий сервер, приложение было бы доступно через http://<server-ip>:8085/app. Моя цель — предоставить tomcat адрес узла Kubernetes и тот же порт, который используется в tomcat.

Я могу открывать и получать доступ к приложению с помощью службы Node Port, но неудобно, что порт всегда отличается. Я попытался настроить вход traefik:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-tag2
spec:
  rules:
    - host: kubernetes.example.com #in my conf I use node's domain name
      http:
        paths:
        - path: /test
          backend:
            serviceName: test-tag2
            servicePort: 8085

И я вижу результат на панели инструментов Traefik, но все же, если я перехожу к http://kubernetes.example.com/test/app, я ничего не получаю.

Я пробовал кучу способов настроить это, и до сих пор не повезло. Действительно ли возможно таким образом разоблачить мой модуль?


person Anton    schedule 08.07.2019    source источник


Ответы (1)


Вы пытались указать значение nodePort в сервисе yaml? Если указано, kubernetes создаст сервис на указанном NodePort. Если nodePort недоступен, kubernetes не создает службу.

Подробнее см. в этом ответе: https://stackoverflow.com/a/43944385/1237402

person Malathi    schedule 08.07.2019
comment
Спасибо, это работает для меня. Я думал, что может быть более элегантный способ достижения моей цели, но если нет - я могу использовать этот. - person Anton; 08.07.2019