The Kubernetes runner is a standalone service that executes pipelines inside Pods. The Kubernetes runner is very similar to the Docker runner, and should be used when running Drone on Kubernetes.

Install the Kubernetes Runner

When to Use?

The Kubernetes runner is a general purpose runner, optimized for projects that can run tests and compile code inside stateless containers. If your goal is to execute pipelines inside your Kubernetes cluster you definitely want to use the Kubernetes runner.

When to Avoid?

The Kubernetes runner is poorly suited for projects that cannot run tests or compile code inside containers, including projects that target operating systems or architectures not supported by Docker, such as macOS.

The Kubernetes runner is also poorly suited for stateful pipelines that need to store files or folders on the host machine in-between pipeline executions. Kubernetes pipelines are ephemeral and do not mutate the host machine.

Known Issues

Kubernetes pipelines are considered experimental and may not be suitable for production use yet. You may experience unexpected issues, some of which are detailed below.

  • The pipeline status is not correctly passed to containers, impacting plugins that rely on this value. This primarily impacts notification plugins, such as Slack, which will always report the pipeline status as success.
  • The command line utility does not support linting, formatting or execution of Kubernetes pipelines.