Kubernetes support

August 10, 2020

Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation.

We’re glad to announce that now Snake Runners can be deployed and used in Kubernetes clusters with just a few clicks.

Snake Runner can be installed into a Kubernetes cluster using the official Helm chart: reconquest/charts/snake-runner

It’s expected to deploy Snake Runners into a separate namespace that can be created during the installation process. Under the hood, we have a simple Kubernetes Deployment which assumes a Replica Set. Each Pod contains a container with Snake Runner and a DIND container to handle the workload.

Runners Pods mount a Kubernetes Secret that consists of an HTTP address to Bitbucket and a registration token that you can find in the Admin Panel on the Runners page.

Installation

  1. Add the repository:

    $ helm repo add reconquest https://helm.reconquest.io
    
  2. Create your own values.yaml file to override default values, make sure to specify values in the snake directive:

Key Description
snake.master_address REQUIRED The address of Bitbucket with the Snake CI add-on installed.
snake.registration_token REQUIRED The security token for registering the runner. You can obtain it on the Bitbucket admin panel → Runners page.
snake.docker_mode REQUIRED Values: “host” or “dind”. “host” means that the runner will mount the host’s docker socket. “dind” stands for docker-in-docker.

Check out other possible values.

  1. Then, install the runner into the cluster:

    # helm 2
    $ helm install --namespace <NAMESPACE> --name ci -f values.yaml reconquest/snake-runner
    
    # helm 3
    $ helm install --namespace <NAMESPACE> ci -f values.yaml reconquest/snake-runner
    

Upgrading

  1. Update the remote chart repository:

    $ helm repo update
    
  2. Upgrade your installation:

    $ helm upgrade -n <NAMESPACE> ci reconquest/snake-runner --force -f values.yaml
    

Looking for more details? Check out our technical documentation: Setup Runner with Kubernetes.

Still have questions? Chat with us in Slack: slack.reconquest.io

Start building faster. Today.

Free 30-days trial.