πŸ“šBook Signing at KubeCon EU 2026Meet us at Booking.com HQ (Mon 18:30-21:00) & vCluster booth #521 (Tue 24 Mar, 12:30-1:30pm) β€” free book giveaway!RSVP Booking.com Event
Networking advanced ⏱ 15 minutes K8s 1.28+

Create an NVIDIA nv-ipam IPPool for SR-IOV Networks

Define a valid nv-ipam IPPool and node-aware sizing strategy so SR-IOV workloads can reliably obtain secondary interface IP addresses on Kubernetes.

By Luca Berton β€’ β€’ πŸ“– 5 min read

πŸ’‘ Quick Answer: Create one IPPool in the same namespace as workloads and NAD, set poolType: ippool, and choose a subnet/block size combination that fits your node and pod scale.

nv-ipam allocates addresses from IPPool resources. Namespace and sizing must be consistent with your workload.

Example IPPool

apiVersion: nv-ipam.nvidia.com/v1alpha1
kind: IPPool
metadata:
  name: tenant-a
  namespace: tenant-a
spec:
  poolType: ippool
  subnet: 10.233.215.96/28
  gateway: 10.233.215.97
  perNodeBlockSize: 8

Apply:

oc apply -f ippool.yaml

Validate

oc get ippool -n tenant-a

Sizing Guidance

  • /28 has 16 addresses total; use small block sizes.
  • perNodeBlockSize must fit available addresses after gateway/network reservations.
  • Use larger subnets for larger node counts or high SR-IOV density.

Namespace Rule

Create the pool in the same namespace used by workloads and generated NAD (for example tenant-a).

#nv-ipam #ippool #sriov #ipam #multus
Luca Berton
Written by Luca Berton

Principal Solutions Architect specializing in Kubernetes, AI/GPU infrastructure, and cloud-native platforms. Author of Kubernetes Recipes and creator of CopyPasteLearn courses.

Kubernetes Recipes book cover

Want More Kubernetes Recipes?

This recipe is from Kubernetes Recipes, our 750-page practical guide with hundreds of production-ready patterns.

Luca Berton Ansible Pilot Ansible by Example Open Empower K8s Recipes Terraform Pilot CopyPasteLearn ProteinLens