Was there someone able to run Vaadin 10 on Kubernetes ? I’m wondering if it’s possible or not.
What I did:
- Run Vaadin with Spring Boot
- Integrated Tomcat Memcached Session Manager
- With Redis
- With Sticky Sessions
- Deployed as a StatefulSet on 2 instances
- Added an nginx ingress with sticky sessions: https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/
It works but if I kill one of the nodes, the app is getting errors. Ex:
java.lang.UnsupportedOperationException: Unexpected message id from the client. Expected sync id: 42, got 43. Message start: {"csrfToken":"85701115-77da-4b38-b6dc-6396e4065d2d","rpc":[{"type":"mSync","node":46,"feature":1,"property":"checked","value":true}]
,"syncId":171,"clientId":43}
at com.vaadin.flow.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:302)
at com.vaadin.flow.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:89)
at com.vaadin.flow.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40)
So if you were successful, what was your deployment strategies ? Do are you able to deploy or kill a node without user disruption ? I’m afraid that if there’s rescheduling, the app will crash while the user is using it.