Integrating Kubernetes and Jenkins
Kubernetes is an open-source project by Google that provides a platform for managing Docker containers as a cluster. In their own words:
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions. Using the concepts of "labels" and "pods", it groups the containers which make up an application into logical units for easy management and discovery.
Kubernetes-related services by Google are the Google Container Engine, a Kubernetes-powered platform for hosting and managing Docker containers, and the Google Container Registry, a private Docker image registry.
Several new Jenkins plugins allow you to make use of Kubernetes and these services:
-
The Google Cloud Registry Auth Plugin allows users to authenticate with the Google Cloud Registry so they can push/pull images. This allows you to use the Google Cloud Registry with existing Docker-related plugins, like Docker build step plugin or CloudBees Docker Custom Build Environment Plugin.
-
The Kubernetes Plugin implements a cloud provider for Jenkins, and can create agents based on Docker images on-demand on your Kubernetes cluster or the Google Cloud Platform.
For a more in-depth look at how you can use Kubernetes with Jenkins, check out these posts on the CloudBees blog by Tracy Kennedy: