Skip to main content

Deploying a Self-Hosted Runner

Prerequisites

Blink's runner must be deployed in an environment with a container engine. Examples of supported container engines are Docker and Kubernetes.

Network Requirements

  • Blink's runner needs to communicate with the Blink SAAS Server over port 443 (HTTPs).
  • The runner network configuration must allow access to Blink’s service at https://app.blinkops.com/. The network communication is performed using HTTPS protocol.
  • User resource access - Depending on the specific use-case, Blink’s runner can be used and integrated with a wide variety of cloud services. Consider which internal/external services will be required and allow the necessary network access to those services.

Hardware Recommendations

It is recommended to have at least:

  • 2GB of RAM for the runner environment.
  • 20GB of disk space for the runner environment, including runners and plugin images.
  • Running on an environment with two vCPUs.

Deployment Modes

Docker

Supported platforms are

  • Linux
  • MacOSx

A Runner on Docker runs with the host's Docker socket to run the integrations, in order to allow the runner to start new sessions on demand.

Kubernetes

Supported Kubernetes deployment stack:

  • Kubernetes engine - Version 1.19 or higher.
  • Helm deployment - Versions 3 or higher.
info

When deploying Runner in Kubernetes, you need to set an appKey as an input value. This key connects the runner to Blink. If you want to manage this key in your Secret Manager, and you use kubernetes-external-secrets in your cluster, you can create an ExternalSecret resource for it before installing the Runner helm chart. The secret name should be set to blink-runner-secret.

info

Default Kubernetes Connection is a custom feature of the Blink runner on the Kubernetes platform. Users that install Blink's runner on Kubernetes get a default connection to their namespace, which will help them use Blink's Kubernetes integration. This connection has access to the namespace service account, giving the ability to control the namespace through Blink.

Known Limitations

If you have Calico installed on your cluster, there is a known bug in Calico used in the Tigera operator manifest for 1.7 and 1.8. 
For more details see the following articles

EC2- CloudFormation

Blink supports deployment of runner via cloudformation template, which will deploy an EC2 instance with a docker runner installed on it.