Logical Router Service Pod Configuration for Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing edge node architectures, such as those based on Data Plane Development Kit (DPDK), face limitations in scalability and resource management when handling layer 5-7 networking and security functions, particularly in multi-tenancy environments.
Innovation Solution
The implementation of a system that divides the functionality of logical routers across multiple Pods in a Kubernetes cluster, with a first Pod handling layer 2-4 operations using DPDK and separate Pods performing layer 7 services, allowing for efficient resource allocation and scalability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a monolithic edge node architecture based on DPDK is used, then networking performance is maximized through kernel-bypassing, but scalability and resource management for layer 7 services deteriorate
Solution Approach 1:
The patent segments the edge node architecture into separate functional components: a DPDK-based data plane for layer 2-4 forwarding and separate application-layer Pods for layer 7 services. This segmentation allows each component to be optimized independently - the data plane maintains high performance through kernel-bypassing while the application layer gains scalability through Kubernetes-native Pod management and horizontal pod autoscaling.
Solution Approach 2:
The patent introduces an intermediary communication mechanism between the DPDK data plane and application-layer Pods using shared memory regions and veth pairs. This intermediary approach enables efficient data exchange between the high-performance data plane and application services without requiring full kernel involvement, thus maintaining performance benefits while enabling scalable layer 7 processing.
2Productivity
If DPDK poll mode driver threads are tightly integrated with L4 services, then data plane performance is optimized, but flexibility for independent L7 service deployment deteriorates
Solution Approach 1:
The patent separates L4 forwarding functionality (handled by DPDK poll mode driver threads) from L7 service functionality (handled by independent Pods). This segmentation enables L4 services to maintain tight integration with the data plane for optimal performance, while L7 services can be deployed independently using Kubernetes Pod management, scaled horizontally, and updated without affecting the data plane.
Solution Approach 2:
The patent adds a new dimensional layer to the architecture by introducing application-layer Pods that operate independently from the data plane threads. This dimensional separation allows L7 services to be deployed, scaled, and managed in a completely independent dimension using Kubernetes ecosystem tools, while the L4 data plane continues to optimize performance through traditional DPDK mechanisms.
3Device complexity
If a single Pod handles all logical router functions, then device complexity is reduced, but resource utilization efficiency and scalability deteriorate
Solution Approach 1:
The patent segments logical router functions across multiple Pods: a dedicated Pod for L4 forwarding operations and separate Pods for each L7 service. This segmentation improves resource utilization efficiency by allowing each Pod to be sized and scaled independently based on actual workload requirements, enabling fine-grained resource allocation and avoiding resource waste in monolithic designs.
Solution Approach 2:
The patent introduces dynamic scalability through Kubernetes Pod management, where the number and configuration of L7 service Pods can be adjusted dynamically based on traffic patterns and service demands. This dynamic capability allows the system to optimize resource utilization by launching additional Pods only when needed, rather than provisioning resources for peak demand in a monolithic architecture.
Data Source
AI summary
Some embodiments provide a method for configuring a first Pod in a container cluster to perform layer 7 (L7) services for a logical router. At a second Pod that performs logical forwarding operations for the logical router, the method receives configuration data for the logical router from a network management system that defines a logical network for which the logical router routes data messages and performs L7 services. The method provides a set of Pod definition data to a cluster controller to create the first Pod. After creation of the first Pod, the method provides to the first Pod (i) networking information to enable a connection between the first and second Pods and (ii) configuration data defining the L7 services for the first Pod to perform the L7 services on data traffic sent from the second Pod to the first Pod.


