Controllers typically manage the pods, and their creation, replication, roll outs, and so on. Controllers are of different kinds and the important ones are as follows:
- ReplicaSet/replication controller:
- Runs a specified number of pods at any given point in time. Most Highly Available (HA) applications would use these, such as web servers and so on.
- Stateful set:
- These are used for the applications that need to maintain state. This provides persistent storage, networking, and so on. It's useful when running databases and so on.
- Daemon set controllers:
- Used to create the pods in all the minions that are added. For instance, when we need to run a certain application on every minion node, for example, monitoring / log ...