Kubernetes is nothing but an open source container cluster manager originally designed by Google. You can manage containerized applications across multiple servers easily. Jenkins automation software runs your tests on servers automatically when you pushes new code into the source repository i.e. continuous integration server. This tutorial explains how to auto scale Jenkins with Kubernetes on Linux-like system.
From the tutorial page:
Jenkins is a great piece of software (ok, it has problems but I couldn’t imagine software development without it). But one of the challenges with maintaining a Jenkins cluster is capacity management. It’s fairly typical to start out with a single master instance. Over time the number and size of Jenkins jobs increases placing more and more demand on the server. The first fix people apply when this happens is to vertically scale the Jenkins server (In fact I recently interviewed for a position and was told their Jenkins server hardware had 40 cores and 512GB of RAM). Some of the problems with scaling vertically include:
- Cost per unit of scale increases with the size of the hardware.
- Complex software configuration required to support a large variety of job types.
- job performance.
- server stability.
- Read more:Auto-Scaling Jenkins with Kubernetes