Back
Loading views...70_Bare_Metal_OpenStack_Kubernetes_VNFs_OPNFV
← Back to Index
DEPLOYMENT 70 — Bare Metal → OpenStack + Kubernetes → VNFs (OPNFV)
Deployment Stack Overlay
┌──────────────────────────────────────────────────┐
│ Workload (App/Process) │
├──────────────────────────────────────────────────┤
│ VNFs (OPNFV) │
├──────────────────────────────────────────────────┤
│ OpenStack + Kubernetes │
├──────────────────────────────────────────────────┤
│ Bare Metal │
└──────────────────────────────────────────────────┘
Detailed System Infrastructure
┌─────────────────────────────────────────────────────────────────┐
│ NETWORK SERVICES (end-user perspective) │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Mobile subscribers │ Internet customers │ Enterprise VPN │ │
│ └──────────────────────────────────────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────────────┐
│ NFV SERVICE LAYER │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ MANO (Management and Orchestration) │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ NFV Orchestrator (NFVO) — OSM / ONAP │ │ │
│ │ │ VNF Manager (VNFM) — per-VNF lifecycle │ │ │
│ │ │ Virtualized Infrastructure Manager (VIM) │ │ │
│ │ │ → OpenStack (for VM-based VNFs) │ │ │
│ │ │ → Kubernetes (for container-based CNFs) │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ NETWORK FUNCTIONS (VNFs / CNFs) │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ VM-based VNFs (on OpenStack): │ │ │
│ │ │ vFirewall │ vLoadBalancer │ vRouter │ vIMS │ │ │
│ │ │ vEPC (mobile core) │ vBNG │ vCPE │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ CNFs (on Kubernetes): │ │ │
│ │ │ free5GC (5G core) │ Open5GS │ SD-Core │ │ │
│ │ │ Contiv-VPP (fast data path) │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────────────┐
│ NFVI (Network Functions Virtualization Infra) │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ OpenStack (VIM for VNFs) │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ Nova + KVM (VNF VM compute) │ │ │
│ │ │ Neutron + OVS/DPDK (high-perf NFV networking) │ │ │
│ │ │ SR-IOV (NIC passthrough for line-rate performance) │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Kubernetes (VIM for CNFs) │ │
│ │ ┌────────────────────────────────────────────────────┐ │ │
│ │ │ DPDK-enabled pods │ SR-IOV device plugin │ │ │
│ │ │ Multus CNI (multiple NICs per pod) │ │ │
│ │ │ CPU pinning (NUMA-aware scheduling) │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────────────┐
│ PERFORMANCE-OPTIMIZED HOST OS │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ DPDK (Data Plane Development Kit — bypass kernel net) │ │
│ │ HugePages (2MB/1GB pages for DPDK memory) │ │ │
│ │ CPU isolation (isolcpus= for DPDK and VNF pinning) │ │
│ │ NUMA topology awareness │ │
│ └──────────────────────────────────────────────────────────┘ │
└────────────────────────────┬────────────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────────────┐
│ BARE METAL (COTS hardware) │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Compute nodes: Intel Xeon (DPDK-optimized) │ RAM 512GB+ │ │
│ │ NIC: Intel X710/XXV710 (SR-IOV capable) 25GbE+ │ │
│ │ BIOS: HugePages enabled │ VT-x │ VT-d (IOMMU) │ │
│ │ (VT-d required for SR-IOV NIC passthrough) │ │
│ └──────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Technical Implementation Details
- Networking: Uses CNI plugins (Calico/Cilium) for pod-to-pod communication.
- Storage: Persistent Volumes (PV) managed via CSI drivers.
- Management: Orchestrated via native CLI or high-level API controllers.
How It Works
- OPNFV is a reference architecture for telecom NFV — it defines how OpenStack + Kubernetes work together for network functions
- OpenStack provides VMs for traditional VNFs (vFirewall, vRouter, vEPC)
- Kubernetes provides pods for cloud-native CNFs (free5GC 5G core)
- DPDK bypasses the Linux kernel network stack for line-rate packet processing
- SR-IOV passes physical NIC virtual functions directly to VMs/pods
- HugePages reduce TLB pressure for DPDK memory management
- MANO layer (OSM/ONAP) orchestrates VNF lifecycle across both OpenStack and K8s
Use Case
Mobile operators, ISPs, and telcos replacing proprietary network hardware with software running on commodity servers. 4G/5G core networks, SD-WAN, virtual firewalls, and load balancers.
Pros
- Eliminates expensive proprietary network hardware
- Software-defined network functions
- Carrier-grade HA and performance with DPDK + SR-IOV
- Open source reference architecture
Cons
- Extremely complex (telco expertise + OpenStack + K8s + DPDK)
- Requires DPDK-capable hardware and careful BIOS tuning
- Long certification cycles
- Very high operational knowledge requirement