Decoupling Configuration Data for Virtual Machine Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Kubernetes systems are limited in managing configuration and secret information for applications executing outside of pod contexts, such as within virtual machines (VMs), lacking the ability to decouple and update this information without modifying the application code.

Innovation Solution

A virtualized computing system with a host cluster featuring a virtualization layer that supports execution of VMs, including pod VMs and native VMs, integrated with an orchestration control plane. This control plane manages the lifecycles of VMs and provides decoupled configuration and secret information to native VMs through management agents, enabling secure and portable application deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If configuration and secret information are embedded in application code for VMs, then the application can access the information, but the application cannot be updated without modifying the code and the information is not securely managed

Engineering Contradiction:
Improvesecure management of configuration and secret informationVSAvoidcomplexity of updating configuration and secret information
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts configuration and secret information from the application code itself and places it into external Kubernetes objects (ConfigMaps and Secrets). This allows the application to access the information through environment variables or mounted files without having the information embedded in the code, enabling secure management and updates without code modification.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces Kubernetes ConfigMaps and Secrets as intermediary objects that store configuration and secret information. These intermediaries bridge the gap between the application and the information it needs, allowing the application to access the data without direct embedding in code, thus enabling secure management and live updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If configuration and secret information are updated in the application code, then the application can use the updated information, but the application code must be recompiled and redeployed

Engineering Contradiction:
Improveability to update configuration and secret informationVSAvoidtime required to update configuration and secret information
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent makes configuration and secret information dynamic by storing it in external Kubernetes objects that can be updated independently of the application lifecycle. When ConfigMaps or Secrets are updated, the changes are automatically reflected in the running application through environment variables or mounted files, enabling live updates without recompilation or redeployment.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent prepares configuration and secret information in advance as separate Kubernetes objects (ConfigMaps and Secrets) before the application needs them. This preliminary preparation allows the information to be updated independently and automatically applied to the application when needed, without requiring code changes or application restarts.

Inventive Principle:
Principle #10Preliminary action

3Ease of manufacture

If configuration and secret information are stored externally to pods, then the information can be managed separately, but the mechanism must work for both pod and non-pod workloads

Engineering Contradiction:
Improveease of managing configuration and secret informationVSAvoidcompatibility with different workload types
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal mechanism using Kubernetes ConfigMaps and Secrets that works for both pod-based and non-pod-based workloads. The same external storage mechanism and injection methods (environment variables, mounted files) are used regardless of whether the workload is a pod or a VM, providing ease of management and broad compatibility.

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

Solution Approach 2:

The patent segments the management of configuration and secret information from the workload execution context. By using external Kubernetes objects that are independent of pods, the system separates the information management layer from the workload layer, allowing the same mechanism to serve multiple workload types including pods and VMs.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11972283B2Managing configuration and sensitive data for workloads in a virtualized computing system
Publication Date: 2024.04.30 VMWARE INC
  • US11972283B2 patent drawing
  • US11972283B2 patent drawing
  • US11972283B2 patent drawing

AI summary

An example virtualized computing system includes: a host cluster having a virtualization layer directly executing on hardware platforms of hosts, the virtualization layer supporting execution of virtual machines (VMs), the VMs including pod VMs and native VMs, the pod VMs including container engines supporting execution of containers in the pod VMs, the native VMs including applications executing on guest operating systems; an orchestration control plane integrated with the virtualization layer and including a master server and native VM controllers, the master server managing lifecycles of the pod VMs and the native VMs; and management agents, executing in the native VMs, configured to receive decoupled information from the master server through the native VM controllers and to provide the decoupled information for consumption by the applications executing in the native VMs, the decoupled information including at least one of configuration information and secret information.