Node-Specific Application Manifest Distribution in Kubernetes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Managing complex computing tasks that require multiple application instances to cooperate effectively is challenging, especially in distributed storage and computation systems, as existing tools like Kubernetes struggle with dynamic resource allocation and fault tolerance.
Innovation Solution
The proposed solution involves an orchestrator that works in conjunction with a Kubernetes master to deploy and manage multi-role applications by defining roles, relationships, and dynamic resource provisioning, using a bundled application approach that includes manifest files, provisioning, configuration parameters, and action hooks, ensuring efficient resource allocation and fault tolerance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If Kubernetes is used to manage multi-role applications, then application instances can be instantiated and scaled, but the installation and management becomes complex
Solution Approach 1:
The patent segments the application manifest into node-specific portions, where each node receives only the configuration data relevant to it. This division reduces the complexity of managing multi-role applications by distributing configuration management across individual nodes rather than requiring centralized management of all application details.
Solution Approach 2:
Instead of having each node report its capabilities and waiting for centralized assignment, the patent inverts the approach by having the orchestrator distribute node-specific manifest portions proactively. Each node then independently processes its received configuration, reversing the traditional centralized-control model to reduce management overhead.
2Productivity
If multiple application instances are deployed to cooperate on complex tasks, then computational capability increases, but resource allocation and fault tolerance become challenging
Solution Approach 1:
The patent implements preliminary action by having the orchestrator distribute node-specific manifest portions to nodes before application instances are deployed. This pre-configuration enables nodes to independently understand their roles and requirements, facilitating automatic resource allocation and fault tolerance without requiring complex runtime management interventions.
Solution Approach 2:
Each node independently processes its received node-specific manifest portion and autonomously manages its application instances. This self-service approach enables automatic resource allocation and fault tolerance, as nodes can independently handle their own configuration, deployment, and recovery without requiring complex centralized coordination.
Data Source
AI summary
An orchestrator generated pod specifications for role instances of a bundled application and submits these pod specifications to a KUBERNETES master. The pod specification specifies a node on which to implement a container executing the role instance, the node being selected according to an application manifest that may include affinity and anti-affinity constraints. The pod specification may be implemented by a KUBELET executing on the node, which may invoke interfaces to the orchestrator in order to obtain a network address for the container. A storage volume to be used by the container may have been mounted to the node previously by the orchestrator and be ready for use by the container. Upon failure of the node, the orchestrator generates a new pod specification according to the application manifest that instructs the master to create a new container having a same identity and state as the former container.


