Skip to main content

Konductor

Konductor

Konductor is a Kubernetes operator that provides synchronization primitives for coordinating jobs and workloads. It enables controlled access, ordering, and coordination between distributed workloads without breaking Kubernetes semantics.

What is Konductor?

Konductor solves coordination problems in Kubernetes by providing four core primitives:

  • Semaphore - Limit concurrent access to shared resources
  • Barrier - Coordinate multi-stage workflows
  • Lease - Singleton execution and leader election
  • Gate - Dependency coordination

Why Konductor?

Kubernetes Jobs are powerful but lack built-in coordination. When you need to:

  • Wait for multiple Jobs to complete before starting the next stage
  • Prevent CronJobs from overlapping when they run longer than their schedule
  • Ensure only one Job runs database migrations across multiple replicas
  • Limit how many batch Jobs run concurrently to avoid overwhelming your cluster
  • Coordinate Pods with each other using CLI or SDK

Konductor provides simple primitives to solve these problems natively in Kubernetes.

Key Features

  • Kubernetes Native - CRDs, kubectl, GitOps-friendly
  • Self-Enforced - Pods voluntarily coordinate their own progress
  • Observable - All state visible via Kubernetes APIs
  • Crash-Safe - Automatic cleanup and TTL expiration
  • Lightweight - Minimal operator with efficient reconciliation

Quick Start

Installation

# Add the LogicIQ Helm repository
helm repo add logiciq https://logiciq.github.io/helm-charts
helm repo update

# Install konductor
helm install my-konductor logiciq/konductor

Basic Usage

# Create a barrier for 3 Jobs
apiVersion: konductor.io/v1
kind: Barrier
metadata:
name: stage-1-complete
spec:
expected: 3
# Wait for barrier in Job
koncli barrier wait stage-1-complete --timeout 30m

Getting Started

Use Cases

Community