аннотация, которую я предоставил, заключается в том, что переписать конфигурацию, так что либо так, либо, как вы предлагаете, заставить ваши приложения реагировать на эти пути
аюсь создать кластер в Google Kubernetes Engine, который запускает nginx, сервер RStudio и два приложения Shiny, следуя и адаптируясьэто руководство.
У меня есть 4 рабочих нагрузки, которые все зеленые в пользовательском интерфейсе, развернуты с помощью:
kubectl run nginx --image=nginx --port=80
kubectl run rstudio --image gcr.io/gcer-public/persistent-rstudio:latest --port 8787
kubectl run shiny1 --image gcr.io/gcer-public/shiny-googleauthrdemo:latest --port 3838
kubectl run shiny5 --image=flaviobarros/shiny-wordcloud --port=80
Затем они были выставлены как порты узла через:
kubectl expose deployment nginx --target-port=80 --type=NodePort
kubectl expose deployment rstudio --target-port=8787 --type=NodePort
kubectl expose deployment shiny1 --target-port=3838 --type=NodePort
kubectl expose deployment shiny5 --target-port=80 --type=NodePort
..это все зеленые в интерфейсе.
Затем я развернул этот Ingress бэкэнд
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: r-ingress
spec:
rules:
- http:
paths:
- path: /
backend:
serviceName: nginx
servicePort: 80
- path: /rstudio/
backend:
serviceName: rstudio
servicePort: 8787
- path: /shiny1/
backend:
serviceName: shiny1
servicePort: 3838
- path: /shiny5/
backend:
serviceName: shiny5
servicePort: 80
В результате маршрутизация nginx работает отлично, я вижу домашнюю страницу «Welcome to nginx», но я получаю три других пути:
/ rstudio / -Input/output error
/ блестящая1 / - страница не найдена (страница Shiny 404)/ глянцевая5 / - страница не найдена (страница Shiny 404)Рабочие нагрузки RStudio и Shiny работают при экспонировании через единый балансировщик нагрузки, сопоставленный с 8787 и 3838 соответственно.
Кто-нибудь может указать, где я иду не так?
Qs:
Нужно ли адаптировать файлы Docker, чтобы все они давали статус 200 на порту 80 при запросе «/»? Нужно ли менять проверку здоровья? Я попытался изменить страницу входа в RStudio (это 302 на / auth-вход, если вы не вошли), но безуспешноИ RStudio, и Shiny нуждаются в веб-сокетах - это влияет на это?Должна ли быть включена сессия сессии? Я попытался добавить это с IP, но те же ошибки.