We've used spot instances for both the core nodegroup (jupyterhub and kube-system pods) and user nodegroup (jupyter-user pods). This works fine for tutorial development and intermittent use. Occasionally a node gets shut down (frequency of days to weeks), but does not work so well during a week long workshop. We've had at least one distuption per day which is noticeable during constant use. Fortunately if the code node goes down (and consequently the hub pod), everyone's sever is merely unavailable for ~ 4 minutes as a new node comes online and the pod restarts. But it would be better to switch to on-demand nodes during a workshop.
We've used spot instances for both the core nodegroup (jupyterhub and kube-system pods) and user nodegroup (jupyter-user pods). This works fine for tutorial development and intermittent use. Occasionally a node gets shut down (frequency of days to weeks), but does not work so well during a week long workshop. We've had at least one distuption per day which is noticeable during constant use. Fortunately if the code node goes down (and consequently the hub pod), everyone's sever is merely unavailable for ~ 4 minutes as a new node comes online and the pod restarts. But it would be better to switch to on-demand nodes during a workshop.