Setting up spot instance node pools is a great way to save money on stateless applications
Setting Up Node Taints
Setting Up Pod Toleration
Don't forget to set the daemonset tolerations
Setting Up Pod Disruption Budgets
Setting up a pod disruption budget is important due to erratic node shutdown possibility. What could happen is that nodes that are hosting the applications start terminating, and our application becomes unresponsive until the application is re-located to another node. To avoid that situation, for the instances we need to configure pod disruption budget on our helm deployments.
For more details check out here