I have a Kubernetes cluster running on Google Compute Engine. My program uses stateful connections, so I do not want my pods being moved between nodes. Because of this, I am running my workload as daemonsets, and giving each node the amount of compute power that one pod needs.
This system is working, but I would like a way to autoscale. Normally, the high workload would produce more pods, which would then trigger the creation of more nodes. But since I am only using daemon sets, this normal solution will not work.
I can use commands to increase or decrease the number of nodes in the server, but I would like this to happen automatically. Ideally, when the workload is high, the cluster would spawn another node in its node pool. Even better, if there is a solution to autoscale down the number of nodes, while minimizing closed connections.
I haven't found much information on ways to do this. I am not very experienced with dev ops, kubernetes, google cloud, docker, etc. so I would appreciate explanatory answers.