Deploying a Runner with Kubernetes
Prerequisites
- Kubernetes Cluster: You need to have a Kubernetes cluster up and running. This can be an on-premises cluster or a cloud-based Kubernetes service like Amazon EKS, Google Kubernetes Engine (GKE), or Azure Kubernetes Service (AKS).
- Blink User: You must have either the Owner role,Contributor role, or a custom role that includes both the
runners:view
andrunners:edit
permissions. To learn more about role-based access and permissions, see the User Roles documentation. - (Optional)-SSH Access to Kubernetes Cluster: If you need to manually manage your Kubernetes cluster or troubleshoot any issues, you should have SSH access or appropriate permissions to interact with the cluster.
Make sure you have the kubectl installed, Kubernetes command-line (CLI) tool for managing your clusters. Detailed instructions can be found in the official Kubernetes documentation.
Deployment Guide
Navigate to the Runners page
In the left-hand navigation bar, select Runners. Then, click the New Runner button in the top-right corner to open the configuration dialog.
Fill in the parameters:
Fill in the required details:
- Name: Enter a name for the Runner group.
- Tags: Add or create tags (optional).
- Default: Check this box to set this Runner group as the default. When enabled, any workflows that do not explicitly specify a Runner group will automatically be assigned to this one.
Choose Runner Type
Choose Kubernetes as your runner type. Click the ‘Continue’ button to proceed.
Under the heading Runner Profile , please choose between the following options: Low, Medium, High or Custom. This allows you to better manage your resource containers and pods. To read more about it you can visit resource container links.
Copy and save the command
Click the button in the top-right corner to copy command needed to install the Runner in your Kubernetes environment.
WARNING
Please be aware that the provided command contains the registration token of the Runner, which will not be retrievable after copying. It is essential to securely store this token in a safe location for future reference.
Plugin Resource Control
Configuring Runner Resource Limitations
Scale with Kubernetes Runner
In Kubernetes, you can take advantage of the built-in ‘Horizontal Pod Autoscaler’ (HPA) to automatically scale your workloads. Instead of manually specifying a fixed number of pods, you define the minimum and maximum pod count, and Kubernetes adjusts the number based on resource usage. This approach works seamlessly with both runners and plugins, allowing you to scale them dynamically based on demand.
Enable Horizontal Pod Autoscaler (HPA) for the Kubernetes Runner deployment by including the following addition in the helm command: --set hpa=true
.
Configure the Horizontal Pod Autoscaler (HPA) for the Kubernetes Runner deployment by including the following addition in the helm command:
Scale Plugins with Kubernetes Runner
Enable Horizontal Pod Autoscaler (HPA) for the plugins deployed by the runner using the following addition to the helm command:
Configure the Horizontal Pod Autoscaler (HPA) for the plugins deployed by the runner using the following addition to the helm command:
Related Articles
Deploying a Runner
Learn how to deploy a Blink Runner to execute workflows securely within your environment.
Deploying a Runner with CloudFormation
Guide to installing, configuring and deploying a Runner using CloudFormation
Deploying a Runner with Docker
Guide to installing, configuring and deploying a Runner using Docker
Configuring a Runner Group
Deploy multiple on-prem Runners for high availability, parallel execution, or workload isolation.