Cross-Cluster Service Access via In-Cluster DNS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for service access across Kubernetes clusters are limited, often requiring external load balancers or pod network connectivity, which are not practical in all scenarios, especially in multi-cloud/hybrid-cloud environments.

Innovation Solution

A method that creates local Pod API objects in lower Kubernetes clusters based on upper cluster Pod API objects, including internal and external network descriptions, with annotations mapping these descriptions, and redirects requests between pods across clusters without relying on third-party platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If external load balancers with external DNS are used for service access across Kubernetes clusters, then service accessibility is improved, but device complexity and dependency on third-party platforms increase

Engineering Contradiction:
Improveservice accessibilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the DNS resolution functionality from external third-party platforms and implements it within the Kubernetes cluster using in-cluster DNS services. The DNS records are created within the cluster's DNS namespace, eliminating dependency on external DNS infrastructure while maintaining service accessibility across clusters.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of in-cluster DNS records and service objects that mediate between service endpoints and clients. This intermediary layer enables cross-cluster service discovery and access without requiring external load balancers, simplifying the system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If pod network connectivity across clusters is implemented, then service access is improved, but adaptability to different deployment scenarios deteriorates due to network configuration constraints

Engineering Contradiction:
Improveservice accessVSAvoiddeployment scenario flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the network connectivity requirement into cluster-internal DNS resolution and service object propagation. Instead of requiring full pod network connectivity across clusters, the solution divides the problem into manageable parts: local DNS records for service discovery and service objects for endpoint management, each handled independently within their respective clusters.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing DNS resolution and service discovery locally within each Kubernetes cluster rather than requiring uniform network connectivity across all clusters. Each cluster maintains its own DNS namespace and service objects, allowing different deployment scenarios and network configurations to coexist without mutual interference.

Inventive Principle:
Principle #3Local quality

3Reliability

If third-party platforms are used for cross-cluster service access, then service accessibility is improved, but loss of independence and increased operational complexity occur

Engineering Contradiction:
Improveservice accessibilityVSAvoidindependence
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent enables Kubernetes clusters to serve their own service discovery and access requirements through in-cluster DNS records and service objects. The clusters are self-sufficient for cross-cluster service access, managing their own DNS namespaces and service endpoint information without requiring external third-party platform support.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11481243B1Service access across Kubernetes clusters
Publication Date: 2022.10.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11481243B1 patent drawing
  • US11481243B1 patent drawing
  • US11481243B1 patent drawing

AI summary

In an approach, a processor creates a local first Pod API object in a first lower Kubernetes cluster based on a first Pod API object in an upper Kubernetes cluster, where: the local first Pod API object includes internal and external network descriptions for a Pod described in the local first Pod API object, and the upper cluster manages the first and second lower Kubernetes cluster. A processor adds an annotation for the Pod to the local first Pod API object and the first Pod API object. A processor creates a local endpoint API object in the first lower cluster based on an endpoint API object in the upper cluster and annotations of Pods in the upper cluster. A processor redirects the first request to the endpoint of the second Pod described in the local endpoint API object.