Skip to main content

GPU Cluster Health Management

Project description

Trainy Konduktor Logo

Built on Kubernetes. Konduktor uses existing open source tools to build a platform that makes it easy for ML Researchers to submit batch jobs and for administrative/infra teams to easily manage GPU clusters.

How it works

Konduktor uses a combination of open source projects. Where tools exist with MIT, Apache, or another compatible open license, we want to use and even contribute to that tool. Where we see gaps in tooling, we build it.

Architecture

Konduktor can be self-hosted and run on any certified Kubernetes distribution or managed by us. Contact us at founders@trainy.ai if you are just interested in the managed version. We're focused on tooling for clusters with NVIDIA cards for now but in the future we may expand to our scope to support other accelerators.

architecture

For ML researchers

  • Konduktor CLI & SDK - user friendly batch job framework, where users only need to specify the resource requirements of their job and a script to launch that makes simple to scale work across multiple nodes. Works with most ML application frameworks out of the box.
num_nodes: 100

resources:
  accelerators: H100:8
  cloud: kubernetes
  labels:
    kueue.x-k8s.io/queue-name: user-queue
    kueue.x-k8s.io/priority-class: low-priority

run: |
  torchrun \
  --nproc_per_node 8 \
  --rdzv_id=1 --rdzv_endpoint=$master_addr:1234 \
  --rdzv_backend=c10d --nnodes $num_nodes \
  torch_ddp_benchmark.py --distributed-backend nccl

For cluster administrators

  • DCGM Exporter, GPU operator, Network Operator - For installing NVIDIA driver, container runtime, and exporting node health metrics.
  • Kueue - centralized creation of job queues, gang-scheduling, and resource quotas and sharing across projects.
  • Prometheus - For publishing metrics about node health and workload queues.
  • OpenTelemetry - For pushing logs from each node
  • Grafana, Loki - Visualizations for metrics/logging solution.

Community & Support

Development Setup

Prerequisites

  • Python 3.9+ (3.10+ recommended)
  • Poetry for dependency management (installation guide)
  • kubectl and access to a Kubernetes cluster (for integration/smoke tests)

Quick Start

# Clone the repository
git clone https://github.com/Trainy-ai/konduktor.git
cd konduktor

# Install dependencies (including dev tools)
poetry install --with dev

# Verify installation
poetry run konduktor --help

Running Tests

# Run unit tests
poetry run pytest tests/unit_tests/ -v

# Run smoke tests (requires Kubernetes cluster)
poetry run pytest tests/smoke_tests/ -v

Code Formatting

All code must pass linting before being merged. Run the format script to auto-fix issues:

bash format.sh

This runs:

  • ruff - Python linter and formatter
  • mypy - Static type checking

Local Kubernetes Cluster (Optional)

For running smoke tests locally, you can set up a kind cluster:

# Install kind and set up a local cluster with JobSet and Kueue
bash tests/kind_install.sh

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

konduktor_nightly-0.1.0.dev20260507121952.tar.gz (262.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file konduktor_nightly-0.1.0.dev20260507121952.tar.gz.

File metadata

File hashes

Hashes for konduktor_nightly-0.1.0.dev20260507121952.tar.gz
Algorithm Hash digest
SHA256 f12f3717922f9770d992d5bd553e504a9a72117f5d0aa2f01a9937f93d41615d
MD5 79b6138a2ab34da0620fbc6d0fe92924
BLAKE2b-256 56c76d589f5a00791fedcfa5f2f2ca0e2fdb96a8a521e5e9ad594ede4c157ab5

See more details on using hashes here.

File details

Details for the file konduktor_nightly-0.1.0.dev20260507121952-py3-none-any.whl.

File metadata

File hashes

Hashes for konduktor_nightly-0.1.0.dev20260507121952-py3-none-any.whl
Algorithm Hash digest
SHA256 1675ae37637a8658fdcb4ca7f4e91e15b3a7a87b11f69f96e609d4132e136c60
MD5 713befaac62a1c960f90af6d9ee8e069
BLAKE2b-256 37a2b245c3af092e81011ddb0aa839c75b854bf2bd97622196eb98687fd0be8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page