Autoscaling CI on Kubernetes in Kraken CI

Intro

Pre-requisites

Kubernetes Clusters

Install in Minikube

minikube start
helm repo add kraken-ci https://kraken.ci/helm-repo/charts
helm repo update
helm upgrade --install --create-namespace --namespace kraken \
--debug --wait \
--set access.method='external-ips' \
--set access.external_ips={`minikube ip`} \
kraken-ci kraken-ci/kraken-ci
NOTES:
Get the application URL by running these commands:
export NODE_PORT=$(kubectl get — namespace kk-1 -o jsonpath=”{.spec.ports[0].port}” services ui)
export NODE_IP=$(kubectl get nodes — namespace kk-1 -o jsonpath=”{.items[0].status.addresses[0].address}”)
echo http://$NODE_IP:$NODE_PORT
kubectl get all -n kraken

Global Settings

Configuration in Agents Groups

Job Definition

{
"parent": "root",
"triggers": {
"parent": True
},
"configs": [],
"jobs": [{
"name": "hello",
"timeout": 500,
"steps": [{
"tool": "shell",
"cmd": "echo 'hello world'"
}],
"environments": [{
"system": "ubuntu:20.04",
"agents_group": "k8s",
"config": "default"
}]
}]
}

Run

--

--

--

Kraken CI Founder. I’m software engineer focused on full-stack programming and improving software processes.

Love podcasts or audiobooks? Learn on the go with our new app.

Database operational excellence with PostgreSQL 12

Intro to Docker with TypeScript

Agile and DevOps: Why Are You Keeping Them Separate?

Adversarial Search: Tic Tac Toe in Python Using The Minimax Algorithm

Language Evaluation Criteria — Cost

Running Docker-CE in WSL2

See how Grizzly API is different, unique and better

Understand legacy code by refactoring it

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Michal Nowikowski

Michal Nowikowski

Kraken CI Founder. I’m software engineer focused on full-stack programming and improving software processes.

More from Medium

Keeping Secrets hidden on public github repository during deployment to Kubernetes cluster

The Swagger aggregator within a Kubernetes cluster

Intro to Kubernetes Mutating Webhooks (get more out of Kubernetes)

Running Spacelift CI/CD workers in Kubernetes using DinD