Configurar un clúster de Kuberentes con ingreso de equilibrio de carga HTTP para RStudio y Shiny resulta en páginas de error

Estoy intentando crear un clúster en Google Kubernetes Engine que ejecute nginx, el servidor RStudio y dos aplicaciones Shiny, siguiendo y adaptandoesta guia.

Tengo 4 cargas de trabajo que son todas verdes en la interfaz de usuario, implementadas a través de:

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

Luego fueron expuestos como puertos de nodo a través de:

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

..que son todos verdes en la interfaz de usuario.

Luego desplegué este backend de 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

El resultado es que el enrutamiento nginx funciona muy bien, puedo ver la página web "Bienvenido a nginx" desde casa, pero las otras tres rutas que obtengo son:

/ rstudio / -Input/output error/ shiny1 / - Página no encontrada (la página Shiny 404)/ shiny5 / - Página no encontrada (la página Shiny 404)

Las cargas de trabajo de RStudio y Shiny funcionan cuando se expone a través del equilibrador de carga único, asignado a 8787 y 3838 respectivamente.

¿Alguien puede señalar dónde me estoy equivocando?

Qs:

¿Deben adaptarse los Dockerfiles para que todos den un estado 200 en el puerto 80 cuando solicitan "/"? ¿Necesito cambiar el verificador de salud? Intenté cambiar la página de inicio de sesión de RStudio (ese 302 a / auth-sign-in si no está conectado) pero no tuve suerteTanto RStudio como Shiny necesitan websockets. ¿Esto afecta esto?¿Debe estar activa la afinidad de sesión? Intenté agregar eso con IP pero con los mismos errores.

Respuestas a la pregunta(2)

Su respuesta a la pregunta