Orkestia
Blog
Runners

Kubernetes

Runner group kind backend_type=kubernetes — one pod per execution on any conformant cluster you already run, including EKS, AKS, GKE, and Magalu

backend_type: kubernetes. Connection: Kubernetes. Status: production — carries live fleets today, including agent pools.

Each execution is a Pod in a namespace you name. The cluster can be EKS, AKS, GKE, Magalu, or your own. The Kubernetes connection is cloud-agnostic; this kind does not care who owns the control plane.

When to choose it

  • You already run a cluster and want runners as pods, not extra VMs.
  • Agent sessions that should share cluster identity, NetworkPolicy, and resource quotas with the rest of your workloads.
  • Multi-cloud orgs that want one runner kind everywhere a kubeconfig works.

Connection

A Kubernetes connection (service account / kubeconfig). Namespace-scoped RBAC is enough if the group's namespace is the only place pods land. cluster-admin is almost never required.

Required config

KeyTypeMeaning
namespacestringNamespace runner pods land in (e.g. ltinteg-runners).

Optional knobs

service_account (defaults to default), container_image (platform default when omitted). Size the pod requests so a small cluster cannot pending-storm.

Execution control

Suffixed workflows: runner.execution-{stop,sync,logs-sync}-kubernetes. There is no restart. The pod is replaced, not restarted. Launch variants include runner.execution-launch-kubernetes and runner.execution-launch-kubernetes-agent.

eks is not a second kind

backend_type=eks is a reserved / legacy database label. New groups use kubernetes even when the cluster is EKS. Point the Kubernetes connection at that cluster (or pair with aws.eks.* for control-plane lifecycle). Do not create new eks groups.

Purposes

Production agent fleets run on this kind with purpose=agent. CI groups use GitHub/GitLab integration as on any other backend. See Purposes.