Discovery Pods for Automated Storage Scheduling in Kubernetes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In container clusters, developers face challenges in accurately and efficiently gathering hardware resource information from worker nodes, leading to potential errors and limitations in supporting heterogeneous nodes, especially when manually creating lists of resources for pod scheduling.

Innovation Solution

Automated discovery of hardware resources is achieved through the deployment of privileged discovery pods that query operating systems to gather information, which is then used to create raw block Persistent Volumes (PVs), facilitating more accurate and scalable scheduling of storage system pods.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If manual creation of hardware resource lists is used for pod scheduling, then developers can gather resource information, but human errors occur and heterogeneous nodes are not supported

Engineering Contradiction:
Improvehardware resource information accuracyVSAvoidscheduling reliability
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system enables nodes to automatically discover and report their own hardware resources through discovery pods that query the node's operating system. This self-service mechanism eliminates manual information gathering, ensuring accurate and reliable hardware resource data is collected without human intervention or errors.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Discovery pods act as intermediaries between the worker nodes and the control plane. These privileged pods query the operating system of each node and relay the discovered hardware resource information back to the control plane, enabling accurate information gathering while maintaining system security and reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If automated discovery pods are deployed to gather hardware information, then information accuracy improves, but system complexity increases

Engineering Contradiction:
Improvehardware resource information accuracyVSAvoiddiscovery system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The discovery functionality is segmented into independent discovery pods that can be deployed individually on each worker node. Each pod is a self-contained unit that queries local hardware resources and reports findings, dividing the complex discovery task into manageable, modular components that reduce overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The discovery pods use standard Kubernetes privileged pod mechanisms and existing operating system query interfaces to gather hardware information. By leveraging universal, existing system capabilities rather than creating custom complex discovery mechanisms, the solution achieves accurate hardware detection while minimizing added system complexity.

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

Data Source

PatentUS11941444B2Facilitating scheduling of storage system pods on nodes of a cluster based on discovery of local block devices associated with the nodes
Publication Date: 2024.03.26 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11941444B2 patent drawing
  • US11941444B2 patent drawing
  • US11941444B2 patent drawing

AI summary

Examples described herein include automated discovery of hardware resources of nodes of a container cluster to facilitate pod scheduling. According to an example, discovery pods are launched on respective nodes of the container cluster. The discovery pods are privileged pods with an ability to query respective operating systems of respective nodes regarding hardware associated with the respective nodes. Information regarding local block devices associated with the respective nodes are discovered by the discovery pods running thereon. Scheduling of storage system pods on nodes of the container cluster that satisfy storage characteristics specified by respective pod requests are facilitated by creating a raw block persistent volume (PV) for each of the discovered local block devices or a subset thereof.