kyma-project / kyma-project/gpu

GPU Module kick off

Open
#7 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
2
Forks
3
PR merge metrics
No merged PRs in 30d

Description

Title

Introduce Kyma GPU Module wrapping NVIDIA GPU Operator for Gardener clusters

Customer Problem

Customers want to run GPU-based workloads on Kyma clusters, such as AI/ML inference, training jobs, and other compute-intensive workloads.

Today, even when the underlying Gardener worker nodes already support GPUs and the OS image includes the required driver support path, customers still do not get a simple, Kyma-native way to enable and manage the NVIDIA software stack needed in the cluster.

This creates several problems:

  • GPU enablement is not exposed as a standard Kyma capability
  • Customers would need to install and manage NVIDIA components manually
  • Operational setup is inconsistent across clusters
  • Day-2 operations such as configuration, upgrades, and lifecycle handling are not aligned with the Kyma module model
  • Platform teams cannot offer a clear, supported GPU experience as part of Kyma
  • Garden upgrades could introduce inconsistencies

As a result, GPU workloads are harder to adopt, harder to operate, and less predictable for both customers and platform owners.

Goal

Provide a Kyma GPU Module that wraps the NVIDIA GPU Operator and offers GPU support in a Kyma-native, supported, and lifecycle-managed way.

The module should assume that:

  • the underlying Gardener infrastructure supports GPU worker nodes
  • the worker OS is Garden Linux
  • required GPU driver support is already available on the node image / OS layer

The Kyma module is responsible for enabling and managing the Kubernetes-level NVIDIA stack, not for provisioning GPU infrastructure or maintaining OS drivers.

Scope

In scope
  • Introduce a new Kyma GPU Module
  • Wrap and deploy NVIDIA GPU Operator through the Kyma module model
  • Define installation and configuration flow for GPU support in a Kyma cluster
  • Ensure compatibility with Gardener clusters using Garden Linux-based worker nodes with driver support already present
  • Provide a supported way for customers to consume GPU resources in workloads
  • Define basic lifecycle handling:
    • installation
    • reconciliation
    • upgrade strategy
    • removal / cleanup behavior
  • Document prerequisites, limitations, and supported setup
Out of scope
  • Provisioning GPU node pools / machine types in hyperscalers
  • Managing GPU drivers at OS image level
  • Custom support for unsupported operating systems
  • Full multi-vendor accelerator support beyond NVIDIA
  • Advanced scheduling abstractions beyond standard Kubernetes GPU resource consumption

Proposed Solution

Create a Kyma module that packages and manages the NVIDIA GPU Operator.

The module would:

  • install the operator into the cluster
  • expose Kyma-managed configuration
  • rely on Gardener + Garden Linux prerequisites being fulfilled underneath
  • provide a standard Kyma entry point for enabling GPU support
  • align GPU capabilities with Kyma module lifecycle and support model

This keeps the responsibility split clear:

  • Gardener / worker OS layer → GPU-capable nodes and driver prerequisites
  • Kyma GPU Module → NVIDIA operator and in-cluster GPU enablement
  • Customer workloads → actual consumption of GPU resources

What needs to be done

  • Define the Kyma GPU Module scope and ownership boundaries
  • Validate assumptions around Garden Linux and preinstalled / supported NVIDIA driver path
  • Decide how the module is enabled:
    • default optional module
    • per-cluster activation
    • configuration via custom resource
  • Package NVIDIA GPU Operator as part of the module
  • Define module configuration surface:
    • enablement
    • versioning
    • optional operator settings
  • Define reconciliation and upgrade behavior
  • Define failure handling and status reporting
  • Verify compatibility with Gardener worker pools that expose GPUs
  • Test workload consumption of GPU resources from user namespaces
  • Document prerequisites for customers and operators
  • Document unsupported scenarios and known limitations
  • Define release/support expectations for the module

Acceptance Criteria

  • A Kyma GPU Module exists and can be enabled on supported clusters
  • The module installs and manages NVIDIA GPU Operator successfully
  • GPU-capable nodes with Garden Linux and required driver support are detected and usable
  • Customer workloads can request and consume GPU resources through standard Kubernetes mechanisms
  • Module lifecycle is handled through Kyma conventions
  • Prerequisites and limitations are documented

Open Questions

  • How much configuration of NVIDIA GPU Operator should be exposed through the Kyma API?
  • Do we support only clusters where drivers are already present, or do we also want future support for driver management paths?
  • Is this module enabled only for specific worker pools / cluster profiles?
  • What is the minimum supported Gardener / Kubernetes / Garden Linux combination?
  • Do we want a minimal first version, or also include observability / monitoring for GPU resources?

Steps:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the NVIDIA GPU Operator deployment guidance linked in the checklist and the Kyma module model. Review the open questions and prepare the ACR document with an architectural design covering enablement, configuration, lifecycle, prerequisites, and ownership boundaries. Done means the module scope and supported setup are defined against the listed acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, helm, kubernetes
Domain
devops, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.