IP Address Sharing for Kubernetes Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods require load balancing plugins to create loadbalancer services, which are not applicable to bare metal clusters, and do not allow multiple services to share an IP address, especially when the number of services exceeds available IP addresses.

Innovation Solution

Assigning a combination of an IP address and port to multiple services, with routing rules to direct service requests to the appropriate pods, enabling IP address sharing and service creation without load balancing plugins, even in bare metal clusters.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If load balancing plugins are used to create loadbalancer services, then service requests can be routed to pods, but the method is not applicable to bare metal clusters and requires additional plugin components

Engineering Contradiction:
Improveapplicability to bare metal clustersVSAvoidrequirement for load balancing plugins
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts the load balancing functionality from proprietary cloud provider plugins and implements it using standard Kubernetes networking components (IPTables, IPVS) that are universally available across different platforms including bare metal clusters. This extraction eliminates the dependency on cloud-specific plugins while preserving the load balancing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system enables Kubernetes clusters to self-configure load balancing services using built-in networking capabilities without requiring external plugin installations. The load balancer service automatically utilizes available IPTables or IPVS mechanisms on the underlying operating system, making the system self-sufficient across different deployment environments.

Inventive Principle:
Principle #25Self-service

2Quantity of substance

If each service is assigned a unique IP address, then routing is simplified, but the number of available IP addresses is insufficient when the number of services exceeds available IP addresses

Engineering Contradiction:
Improvenumber of available IP addressesVSAvoidIP address management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent extends the service identification space from two dimensions (IP address only) to three dimensions (IP address, port, and protocol). By utilizing the port number and protocol type as additional distinguishing dimensions, multiple services can share the same IP address while maintaining unique routing paths through different port-protocol combinations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

A single IP address is made multi-functional by allowing it to serve multiple services simultaneously through port multiplexing. The same IP address can handle requests for different services by directing traffic to appropriate ports based on the service type, thereby maximizing the utilization of limited IP address resources.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Quantity of substance

If multiple services share an IP address using different ports, then IP address utilization improves, but routing rules become more complex to direct requests to appropriate services

Engineering Contradiction:
ImproveIP address sharing capabilityVSAvoidrouting rules complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a service abstraction layer that acts as an intermediary between incoming requests and the underlying IP address-port routing mechanism. This layer automatically translates service-level routing requirements into IPTables or IPVS rules, shielding users from the complexity of manual routing rule configuration while enabling efficient IP address sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts routing parameters (IPTables rules, IPVS virtual server configurations) based on service registration and deployment information. When services are added, modified, or removed, the routing rules are automatically updated to reflect current service states, maintaining routing efficiency without manual intervention.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10992575B2Assignment of internet protocol addresses to services
Publication Date: 2021.04.27 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10992575B2 patent drawing
  • US10992575B2 patent drawing
  • US10992575B2 patent drawing

AI summary

In an example, a first Internet Protocol (IP) address is assigned to a first service. The first service includes a plurality of pods and is to operate on a first port. A first node on which the first IP address is to be configured is selected from among a plurality of nodes based on a number of IP addresses configured on each of the plurality of nodes. Further, the first IP address is configured on the first node. The first IP address is assigned to a second service as well. The second service comprises a plurality of pods and is to operate on a second port.