ekeras
12/02/2022, 9:12 AMminikube ip
didn't give us access to Orchest app, so we used port-forwarding minikube kubectl -- port-forward --address public_ip -n orchest orchest-webserver-5d8585bd64-8c6bh 8448:80
in order to have Orchest app available through our public_ip:8448. This allowed us to reach Orchest web interface, create project, but failed at openning JupyterLab notebooks - it tries to go back to project list page and then tries to enter JupyterLab, then tries to go back to project list page and then JupyterLab and gets into this loop.
So, I am thinking, could it be that JupyterLab needs to be port-forwarded as well? But if that's the case, newly created JupyterLab server pod would still fail. What other options we have?Jacopo
12/02/2022, 9:32 AMkubectl describe ingress -n orchest
? About the ingress hostnames and such
When it comes to hosting and exposing Orchest there are some caveats to keep in mind, for example the fact that the application uses websockets for some features, so whatever you are using to proxy needs to enable that. This section in the docs should be of helpekeras
12/02/2022, 9:51 AMminikube kubectl -- describe ingress -n orchest
, I don't see anything unusual.
Name: auth-server
Labels: <http://controller.orchest.io/component=auth-server|controller.orchest.io/component=auth-server>
<http://controller.orchest.io/owner=auth-server|controller.orchest.io/owner=auth-server>
<http://controller.orchest.io/part-of=orchest|controller.orchest.io/part-of=orchest>
<http://orchest.io/orchest-hash=546b6fc795|orchest.io/orchest-hash=546b6fc795>
Namespace: orchest
Address: minikube_ip_address
Ingress Class: nginx
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/login auth-server:80 (172.17.0.10:80)
Annotations: <http://controller.orchest.io/k8s|controller.orchest.io/k8s>: minikube
<http://nginx.ingress.kubernetes.io/proxy-body-size|nginx.ingress.kubernetes.io/proxy-body-size>: 0
Events: <none>
Name: jupyter-server-7814ce85-16ac-46960915b350-b929-4cbd
Labels: app=jupyter-server
project_uuid=7814ce85-16ac-4696-a8f5-10944a43dd50
session_uuid=7814ce85-16ac-46960915b350-b929-4cbd
Namespace: orchest
Address: minikube_ip_address
Ingress Class: nginx
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/jupyter-server-7814ce85-16ac-46960915b350-b929-4cbd jupyter-server-7814ce85-16ac-46960915b350-b929-4cbd:80 (172.17.0.20:8888)
Annotations: <http://nginx.ingress.kubernetes.io/proxy-body-size|nginx.ingress.kubernetes.io/proxy-body-size>: 0
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Sync 59m (x2 over 59m) nginx-ingress-controller Scheduled for sync
Name: jupyter-server-7de56ab2-3e57-461933539293-4e55-4d6c
Labels: app=jupyter-server
project_uuid=7de56ab2-3e57-4619-be1e-b2a5af94019f
session_uuid=7de56ab2-3e57-461933539293-4e55-4d6c
Namespace: orchest
Address: minikube_ip_address
Ingress Class: nginx
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/jupyter-server-7de56ab2-3e57-461933539293-4e55-4d6c jupyter-server-7de56ab2-3e57-461933539293-4e55-4d6c:80 (172.17.0.18:8888)
Annotations: <http://nginx.ingress.kubernetes.io/proxy-body-size|nginx.ingress.kubernetes.io/proxy-body-size>: 0
Events: <none>
Name: orchest-api
Labels: <http://controller.orchest.io/component=orchest-api|controller.orchest.io/component=orchest-api>
<http://controller.orchest.io/owner=orchest-api|controller.orchest.io/owner=orchest-api>
<http://controller.orchest.io/part-of=orchest|controller.orchest.io/part-of=orchest>
<http://orchest.io/orchest-hash=68bb6dbfcc|orchest.io/orchest-hash=68bb6dbfcc>
Namespace: orchest
Address: minikube_ip_address
Ingress Class: nginx
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/orchest-api orchest-api:80 (172.17.0.8:80)
Annotations: <http://controller.orchest.io/k8s|controller.orchest.io/k8s>: minikube
<http://nginx.ingress.kubernetes.io/auth-url|nginx.ingress.kubernetes.io/auth-url>: <http://auth-server.orchest.svc.cluster.local/auth>
<http://nginx.ingress.kubernetes.io/proxy-body-size|nginx.ingress.kubernetes.io/proxy-body-size>: 0
Events: <none>
Name: orchest-controller
Labels: <none>
Namespace: orchest
Address: minikube_ip_address
Ingress Class: nginx
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/controller(/|$)(.*) orchest-controller:80 (172.17.0.2:80)
Annotations: <http://nginx.ingress.kubernetes.io/rewrite-target|nginx.ingress.kubernetes.io/rewrite-target>: /$2
Events: <none>
Name: orchest-webserver
Labels: <http://controller.orchest.io/component=orchest-webserver|controller.orchest.io/component=orchest-webserver>
<http://controller.orchest.io/owner=orchest-webserver|controller.orchest.io/owner=orchest-webserver>
<http://controller.orchest.io/part-of=orchest|controller.orchest.io/part-of=orchest>
<http://orchest.io/orchest-hash=86d6fdd595|orchest.io/orchest-hash=86d6fdd595>
Namespace: orchest
Address: minikube_ip_address
Ingress Class: nginx
Default backend: <default>
Rules:
Host Path Backends
---- ---- --------
*
/ orchest-webserver:80 (172.17.0.11:80)
Annotations: <http://controller.orchest.io/k8s|controller.orchest.io/k8s>: minikube
<http://nginx.ingress.kubernetes.io/auth-signin|nginx.ingress.kubernetes.io/auth-signin>: /login
<http://nginx.ingress.kubernetes.io/auth-url|nginx.ingress.kubernetes.io/auth-url>: <http://auth-server.orchest.svc.cluster.local/auth>
<http://nginx.ingress.kubernetes.io/proxy-body-size|nginx.ingress.kubernetes.io/proxy-body-size>: 0
Events: <none>
Yannick
orchest-webserver
.Rick Lamers