Skip to main content
For Trainy Hub, follow Submit jobs through Trainy Hub. Hub is in private preview and requires an invitation and an assigned namespace. For direct cluster access, obtain a kubeconfig using Authentication. You can then inspect the cluster with kubectl and the konduktor CLI.

Installation

We maintain a nightly build of our latest client on PyPi konduktor-nightly

(Optional) Setup Cloud Storage Credentials

Cloud storage credential setup for file_mounts is deprecated and will be removed in a future version of Konduktor. New workloads should avoid relying on bucket/credential-backed file sync.
We currently support the following cloud object stores for syncing files —> workloads with more incoming!
  • Google Cloud Storage gs - Supported ✅
  • Amazon S3 s3 - Supported ✅
  • Cloudflare R2 r2 - Coming soon 🚧
For teams: by default each machine auto-creates its own konduktor-filemounts-<username>-<user_hash> bucket. Admins can instead point every engineer at a single shared bucket by adding the following to each machine’s ~/.konduktor/config.yaml (or a shared KONDUKTOR_CONFIG):
Each machine then uploads under its own folder inside that bucket. See Shared bucket for details.

Google Cloud Storage Requirements

  1. Install with pip install konduktor-nightly
  2. Check that your GCP user or service account has the minimal GCP permissions.
  3. Ensure that ~/.konduktor/config.yaml is configured correctly for GS:
  1. Use local credentials OR set env variables: Coming soon 🚧
  2. Confirm your GS credentials and setup with:

Amazon S3 Requirements

  1. Install with pip install konduktor-nightly[s3]
  2. Check that your AWS user has the minimal AWS user permissions.
  3. Ensure that ~/.konduktor/config.yaml is configured correctly for S3:
  1. Use local ~/.aws/ credentials OR set env variables:
~/.aws/config
~/.aws/credentials
OR
  1. Confirm your S3 credentials and setup with:

(Optional) Setup Private Container Registry Credentials

For Hub jobs, create these secrets in the Hub context and job namespace. Secrets in a worker’s default namespace are not imported automatically. See Hub dependencies.
To have your Trainy jobs use images from private container registries (k8s docs), you must create one or more Kubernetes docker-registry secrets containing your registry credentials. Each secret stores the authentication needed for a specific registry (Docker Hub or GCR). Konduktor will use these secrets when pulling your job images. After creating the secret(s), reference them in your Konduktor config (~/.konduktor/config.yaml) so they are automatically attached to your pods.
The names in imagePullSecrets must match the secrets you create below. For Hub submission, create referenced Secrets and ConfigMaps in your Hub tenant namespace. Dependencies that exist only on a worker are not imported into the Hub. On a context created by konduktor login, launch checks required references in every rendered JobSet PodTemplate before submitting the job. This covers image-pull secrets, regular and init-container environment references, and Secret/ConfigMap volumes, including projected sources. References marked optional: true may be absent; image-pull secrets are always required. A missing dependency produces an error naming its kind, name, Hub namespace, and context, without creating a queued job. The check reads only metadata; referenced keys remain subject to Hub admission validation. A dependency can still disappear after the check. Direct-cluster submission keeps its existing behavior.

Create a Docker Hub Registry Secret

  1. Create your secret
  1. Verify that the secret was created

Create a Google Container / Artifact Registry Secret

  1. Create a GCP Service Account for registry access
  1. Grant read permissions for container images
  1. Generate a JSON key for that service account
  1. Create your secret
  1. Verify that the secret was created