Workflow to Install Additional Release Runner in Kubernetes
Before You Begin
This tutorial involves working with a variety of tools and technologies such as Digital.ai Release, Runners, Kubernetes, GitHub, and so on. You can perform this task by simply following the instructions. However, being familiar with these tools and technologies can help you considerably when you try this out in your test environment.
What's the objective?
The objective is to illustrate how to use the Install additional Digital.ai Release runner in Kubernetes workflow in Digital.ai Release to install an additional Runner into an existing Kubernetes cluster using XL CLI.
Though the Digital.ai Release supports GitHub, GitLab, and BitBucket repositories, this tutorial is built with the GitHub repository for illustrative purposes.
What do you need?
You must have the following:
- A computer that runs Windows, macOS, or Linux to install and run the kubectl and other CLIs.
- You need a Digital.ai Release Kubernetes container plugin installed.
- A Kubernetes cluster where runner will be installed.
- kubectl
What do you have?
To get your Install additional Digital.ai Release runner in Kubernetes workflow, see how to Run Workflows.
Note: A default folder called Digital.ai-official is now available in Release. It contains the downloadable workflows and templates that are published by Digital.ai in the shared content folder repository.
Here's a detailed step-by-step.
Step 1 - Set up Kubernetes Cluster
Note: The instructions to set up the cluster are indicative of the process. You may have to keep abreast of the latest developments with regards to the cloud platform you work with and set up the cluster to suit your requirements.
The process of setting up a Kubernetes cluster and the tools required for the same varies from one platform to the other. However, there are certain things that you must think through before setting up a Kubernetes cluster in general.
You can install Argo CD on the following Kubernetes platforms.
- Plain Multi-node Kubernetes Cluster On-premise
- Amazon EKS
- Azure AKS
- Google GKE
- OpenShift
Step 2 - Prepare Digital.ai Release URL
In this step, you will enter URL of your Digital.ai Release instance that is accessible from the Kubernetes cluster.
Step 3 - Create user and token for Runner registration
In this step, you will create a new user and generate access token as follows.
Create Runner user and assign permissions
- Create a new user called
runner
. - Create a global role called Runners for the
runner
user. - Assign global permission called Runner registration for the Runners role.
Create access token
- Login with
runner
user. - Go to the Personal access tokens from the top-right corner of the screen.
- Create a new token called Runner token and copy it into the Runner token field.
Step 4 - Prepare input for Runner installation on Kubernetes cluster
In this step, you will add the required information for adding a new Runner like kubernetesApiServer
, namespace
, RunnerName
, RunnerImage
, and replicas
.
Step 4 - Check if ${namespace} namespace exists
In this step, you will check if ${namespace} namespace already exists. If it doesn't exist, the next task will create the namespace. Otherwise, next task will be skipped.
Step 5 - Create ${namespace} namespace
In this step, if ${namespace} namespace doesn't exist, a new namespace will be created.
Step 6 - Create Runner resources
In this step, you will create all necessary resources on the Kubernetes cluster inside the ${namespace} namespace. This includes service accounts, secrets, config maps, role bindings, services and stateful sets.
Step 7 - Install additional Runner
In this step, you will install the Release runner through XL CLI.