Building GPU Platforms on Kubernetes
Four days of private, instructor-led training for platform engineers. Learn how to allocate, share, isolate, and measure GPUs through hands-on platform exercises.
Connect the Kubernetes mechanisms to NVIDIA technologies, including the GPU Operator, MIG, DCGM, and NVKE.
Discuss training for your team
Send us an email at hello@learnkube.com.
Send us a message:
Build the platform other teams depend on
Your organization has GPU infrastructure. Several teams need access, with different workloads, permissions, and performance requirements. You own the platform decisions that connect them.
- Make GPUs available to Kubernetes workloads and diagnose failures across drivers, container runtimes, and device allocation.
- Share GPUs between workloads with time-slicing, MPS, or MIG. Determine which GPU memory, compute, and fault-isolation guarantees each approach provides.
- Find wasted GPU capacity by connecting GPU allocation and DCGM metrics to application throughput, memory use, and scheduling constraints.
- Provision and manage GPU-backed Kubernetes clusters with NVKE, from workload-cluster creation to node-pool changes and node replacement.
Read the work behind the course

LearnKube founder Daniele Polencic develops technical teaching around how Kubernetes works. Our GPU books explore the allocation, isolation, and efficiency questions behind this course.
What does the Kubernetes course cover?
A typical schedule for a 4 day course is as follows:
Day 1
Lecture + hands-on labs + challenges
Kubernetes doesn't know how to deploy apps written in languages such as Java, Node.js, or .NET. Instead, it only understands and uses Linux containers. But how do these Linux containers work? Are those strictly necessary to master Kubernetes? In this course, you will familiarise yourself with containers and Docker.
Containers vs VMs
Understanding process isolation
Is Docker the only one?
Docker client-server architecture
Running containers
Building Docker images
Mounting volumes
Exposing ports
Managing containers lifecycle
Injecting environment variables
Debugging running containers
Lecture + hands-on labs + challenges
In this course, you will learn how to build, deploy and scale your application in a Kubernetes cluster. You will also learn how to expose your app to the internet and architect apps that are designed to be horizontally scalable.
Managing containers at scale
The battle of container orchestrators
Visualising the data centre as a single VM
The scheduler is the best Tetris player
Kubernetes as an infrastructure as a service provider
What are Pods, Services, and Ingresses?
Creating a local cluster with minikube
Creating a Deployment
Exposing Deployments
What is a Pod?
Scaling applications
Testing resiliency
Lecture + hands-on labs + challenges
Every time you deploy new features in production, you shouldn't stop your app, change the version and start it again. With zero-downtime deployments, no one notices any glitch while you're upgrading your apps. How does that work in Kubernetes? In this course, you will learn how Services work in Kubernetes and how you can roll out changes with zero downtime using rolling updates. You will also learn about Canary Deployments and Blue-green deployments.
Monitoring for uptime
Liveness probe
Readiness probe
Startup probe
Executing zero downtime deployments with rolling updates
Using labels and selectors
Testing features with canary deployments
Releasing features with blue-green deployments
Understanding rollbacks and ReplicaSets
Day 2
Lecture + hands-on labs
Resources in Kubernetes are described as YAML files. If you wish to have the same resources for different environments such as development, preproduction and production, you may be tempted to copy the files three times. Or you could use a templating engine. In this course, you will learn how to do that with Helm, Kustomize or with your programs in any language.
Creating reusable templates
Helm's templating engine
Understanding the Helm architecture
Templating resources with Go and Sprig
Managing releases with Helm
Reverting changes with rollbacks
Depending on other charts
Storing reusable templates in repositories
Structured templating introduction with YQ
Kubernetes specific structured templating with Kustomize
Using Kubernetes SDKs for templating
Lecture + hands-on labs
Can Kubernetes recover from failures? In this course, you will learn the Kubernetes core components by building a cluster from scratch using kubeadm. But the best way to learn something is by breaking it. So you will also break the cluster one node at the time and observe what happens.
Single and multi-node clusters
Examining the control plane
Persisting changes in etcd
Syncing changes with RAFT
Event-based architecture
Understanding the kubelet
Verifying "no single point of failure"
Setting up a multi-master cluster
Investigating multi-master setup in EKS
Exploring multi-master setup in Monzo
Creating a 3 node cluster with kubeadm
Installing an overlay network
Installing an Ingress controller
Exploring the API without kubectl
Taking down the cluster one node at a time
Day 3
Lecture + hands-on labs
How does Kubernetes handle internal traffic between your microservices? How can two apps in the cluster talk to each other? How is Kubernetes assigning IP addresses to Pods and Services? In this course, you will explore how the traffic is routed inside the cluster.
Network challenge with multiple nodes
Network routing recap
Understanding network requirements
Understanding cluster address limits
Assigning IP addresses
The challenge of service discovery
Exploring the Endpoints
Balancing in-cluster traffic
Routing traffic with kube-proxy
Discovering Service types: headless and ClusterIP
Network security for east-west traffic
Network policy targets
Network policy best practices
Lecture + hands-on labs
How to expose application frontends to the internet from a Kubernetes cluster? What's the solution for Layer 4 and Layer 7? In this course, you will learn about more Service types, and the Ingress.
Layer 4 solution to expose a service
The details of using Nodeport
Provision loadbalancers automatically
Helping out the world to save on IPs
HTTP based routing for domains and paths
Routing traffic with Ingress manifests
The battle of Ingress controllers
End-to-end packet journey
Service mesh use-cases
The ins and outs of service meshes
Lecture
Master advanced placements of workloads in your infrastructure. Learn how to schedule machine learning deployments to nodes with GPU or how you can segregate workloads for regions (useful if you need to comply with policies and regulations).
How the Scheduler works in Kubernetes
Filters and predicates
nodeSelector
Node affinity
Pod affinity/anti-affinity
Taints and tolerations
Topology Spread Constraints
Custom schedulers
Day 4
Lecture + hands-on labs
Make NVIDIA GPUs available to Kubernetes workloads. Compare GPU sharing mechanisms and the memory, compute, and fault-isolation guarantees they provide.
NVIDIA drivers, Container Toolkit, and GPU Operator
Device plugins and Dynamic Resource Allocation (DRA)
GPU requests and device access inside a container
GPU time-slicing, Multi-Process Service (MPS), and Multi-Instance GPU (MIG)
GPU memory limits, compute sharing, and tenant isolation
Diagnosing GPU access failures and competing workloads
Lecture + hands-on labs
Find wasted GPU capacity by comparing Kubernetes allocation, NVIDIA DCGM metrics, and application throughput. Investigate the constraints that prevent workloads from using available GPUs.
GPU allocation versus hardware activity and useful work
NVIDIA DCGM and dcgm-exporter
SM activity, memory use, and application throughput
CPU, memory, and placement constraints on GPU nodes
Multi-GPU fragmentation and stranded capacity
Assessing a resource change against throughput and latency
Lecture + hands-on labs
Explore NVKE through its local evaluation environment. Connect workload-cluster provisioning and node-pool changes to the GPU runtime and the teams that use the platform.
NVKE management and workload clusters
NICo infrastructure and NVKR build artifacts
Creating and accessing a workload cluster
Node pools, configuration changes, and node replacement
Cluster separation and GPU runtime responsibilities
Cluster health, telemetry, and preview capabilities
A private workshop around your platform
Bring your cluster architecture, workload configurations, and GPU problems. Work through them with an instructor and connect the course material to the systems your team owns.
Customize the agenda
Skip topics your engineers already know and spend more time on the problems they need to solve. Adapt the four-day outline to your GPU hardware, software stack, and workloads.
Work through your own cluster
Bring your manifests, dashboards, and platform design. Trace how your workloads get GPU access, examine your sharing configuration, and identify what prevents available capacity from reaching your teams.
Investigate problems with an instructor
Use the sessions to investigate pending GPU workloads, memory contention, low throughput, or your NVKE plans. Compare possible changes, discuss the tradeoffs, and decide what to investigate next in your environment.
Before you join
What knowledge do participants need?
Participants need Linux command-line experience and familiarity with Kubernetes workloads, Services, resource requests, and basic troubleshooting. We introduce GPU-specific concepts through that existing knowledge.
Do we need our own GPU hardware?
We agree the lab environment before the course. GPU sharing and profiling exercises need suitable hardware and drivers. NVKE has a local evaluation path with simulated infrastructure that needs no GPU hardware.
Can the course focus on our NVIDIA stack or NVKE evaluation?
Yes. Share your GPU models, runtime components, cluster architecture, and operating questions. We can give more time to the relevant NVIDIA tools and NVKE workflows while connecting them to the underlying Kubernetes mechanisms.
How long is the course, and what does it cost?
The course runs over four days. The first three cover containers, Kubernetes, architecture, networking, and scheduling. Day 4 focuses on NVIDIA GPUs and NVKE. We quote from your group size, lab requirements, and delivery format.
Bring your GPU platform questions
Tell us what your team operates, who depends on it, and which GPU decisions need a clearer explanation. We will propose a course focus, practical environment, and schedule.
Discuss training for your team
Send us an email at hello@learnkube.com.
Send us a message:

