Skip to content

Instantly share code, notes, and snippets.

#!/bin/bash
set -e
KO_DOCKER_REPO=${KO_DOCKER_REPO:-kserve}
TAG=${TAG:-latest}
# If running from different directory, override with directory of KServe source code
DEFAULT_DIR=${DEFAULT_DIR:-$(pwd)}
echo
@Billy99
Billy99 / km-pvc-options.md
Created September 2, 2026 20:11
KernelManager PV/PVC Options

KernelManager PV/PVC Options

Background

KernelCache supports two mount types: imageVolume and pvc. The imageVolume path mounts the OCI image directly in Kubernetes (1.33+) as a read-only volume — no PV/PVC management is involved, and no extraction job is needed. It is the simpler and preferred path on modern clusters.

The pvc path extracts the kernel cache from the OCI image into a PersistentVolumeClaim

@Billy99
Billy99 / km-lmc-pv-pvc-design.md
Last active September 2, 2026 15:09
Local Model Cache PV/PVC Design

LocalModelCache PV/PVC Design

Overview

LocalModelCache (LMC) distributes large model files to the local disk of every targeted node in a Kubernetes cluster so that InferenceService (ISVC) pods can load models from fast local storage rather than pulling them over the network on each startup. The design is built around three CRDs — LocalModelCache, LocalModelNodeGroup, and LocalModelNode — and a DaemonSet agent that runs on every target node.

Intel Gaudi Support for MCV - Implementation Guide

Status: Ready for implementation once Gaudi hardware is available Complexity: Medium (1-2 days) Pattern: CLI-based (similar to AMD/ROCm, not NVML) Date Created: 2026-07-28


Table of Contents

$ make run-on-kind
if [ ! -f /home/bmcfall/src/GKM/bin/kind-gpu-sim.sh ]; then \
echo "Downloading /home/bmcfall/src/GKM/bin/kind-gpu-sim.sh"; \
wget -P /home/bmcfall/src/GKM/bin https://raw.githubusercontent.com/maryamtahhan/kind-gpu-sim/refs/heads/main/kind-gpu-sim.sh; \
chmod +x /home/bmcfall/src/GKM/bin/kind-gpu-sim.sh; \
fi
Deleting Kind GPU cluster: kind-gpu-sim
cat /home/bmcfall/src/GKM/bin/kind-gpu-sim.sh | bash -s delete --cluster-name=kind-gpu-sim
Using Podman as container runtime
using podman due to KIND_EXPERIMENTAL_PROVIDER
Requirement:
* Same logical data on all nodes
* Multiple nodes
* Underlying storage only supports RWO
* Pods should not need to know node-specific PVC names
* Operator should abstract this away
* Data pre-populated before workload starts
* Pod startup must be fast (no on-demand copy)
Does GKM Need to support:
------------------------
I am coding a CSI Driver in Golang that will mount a PVC into a pod volumemount.
Can you write a golang set of functions that will mount a PVC in a pod?
------------------------
This is an important clarification:
👉 **A CSI driver does NOT mount a PVC into a Pod.**
$ kubectl explain clusterbpfapplication
GROUP: bpfman.io
KIND: ClusterBpfApplication
VERSION: v1alpha1
DESCRIPTION:
ClusterBpfApplication is the schema for the cluster scoped BPF Applications
API. Using this API allows applications to load one or more eBPF programs on
a Kubernetes cluster using bpfman to load the programs.

Using Operator-SDK v1.27.0 (from Makefile at the time)

Goal is to run ./bin/operator-sdk create api --kind TcxNsProgram ... to add a new kind object. As is, can't run in our repo without hitting errors.

Run Command

$ ./bin/operator-sdk create api --group bpfman --version v1alpha1 --kind TcxNsProgram --resource --controller --force --namespaced=true
Error: failed to create API: unable to inject the resource to "base.go.kubebuilder.io/v3": multiple groups are not allowed by default, to enable multi-group visit https://kubebuilder.io/migration/multi-group.html
BROKEN first, then WORKS after
-------------
BROKEN
-------------
# From main:latest
$ sudo /usr/share/bcc/tools/capable
TIME UID PID COMM CAP NAME AUDIT