We are running our EKS node groups on AWS Spot Instances. In order to make sure that the services don't go down at any point of time we would like to run 1 pod of each service on a separate node group which uses reserved instances. Is there any way we can configure the deployments so that 1 pod runs on reserved node group and rest on the spot instances node group? Currently we are using node selector to match the label to decide on which node group the service has to run. Is there any way we can use the labels of two separate node groups(reserved and spot) in node selector and specify the weights to divide the load?
Couldn't find a way to do that in a single deployment, but achieved the same using two seperate deployments one deploys to spot node group and other to on-demand node group but the service uses both the pods.
You can use a topology spread constraint to spread the Pods of a Deployment across Nodes, using any label as a key to spread on.