Agent/Controller Lifecycle
Build agents are cattle — disposable and reproducible from an image or provisioning script; the controller is not — it holds state that deserves backups and change control.
The controller carries job history, credentials, and plugin configuration — state that would be expensive to lose and doesn’t rebuild itself. Agents carry none of that; if one is misbehaving, replacing it should be no more eventful than restarting a container. Treating agents as precious, hand-tuned machines is a common way for a Jenkins setup to become fragile and hard to reproduce.
Related
- Dynamic Kubernetes agents — the concrete mechanism that makes agents disposable in practice.
- Bounding growth