External Storage Layer Upgrade via Command Translation Orchestration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The challenge of upgrading an external distributed storage layer is complicated by the incompatibility between the container hosting platform and the external storage layer, which utilize different programming models, leading to difficulties in communication and orchestration of upgrades.
Innovation Solution
A cluster controller and custom operator are used to translate and orchestrate upgrade commands between the container hosting platform and the external distributed storage layer, employing a declarative-to-imperative programming model conversion, ensuring non-disruptive upgrades by managing nodes within the external storage layer based on protection domains.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If an external distributed storage layer is used separate from the container hosting platform, then storage scalability and independence are improved, but communication and orchestration complexity increase due to different programming models
Solution Approach 1:
A cluster controller acts as an intermediary component that translates between the declarative programming model of the container hosting platform and the imperative programming model of the external distributed storage layer. This mediator enables seamless communication and orchestration without requiring direct integration between the two systems, thus maintaining storage scalability while reducing communication complexity.
Solution Approach 2:
The system changes the parameter of programming model representation by converting declarative specifications into executable imperative commands. This transformation allows the container hosting platform to maintain its declarative approach while the external storage layer operates with imperative commands, resolving the incompatibility between different programming models.
2Reliability
If upgrade operations are performed on the external distributed storage layer, then system resilience is improved, but service disruption occurs during the upgrade process
Solution Approach 1:
The external distributed storage layer is segmented into multiple nodes that can be upgraded independently. The cluster controller manages upgrade operations on individual nodes while others continue to serve client requests, enabling non-disruptive upgrades that improve system resilience without causing service disruption.
Solution Approach 2:
The system performs preliminary actions by preparing upgrade commands and validating node status before actually initiating the upgrade. This ensures that upgrade operations are planned and executed in a way that maintains continuous service availability, preventing disruptions during the upgrade process.
3Reliability
If nodes are upgraded one at a time, then service continuity is maintained, but upgrade time increases compared to parallel upgrades
Solution Approach 1:
The upgrade process is made dynamic by allowing the cluster controller to selectively upgrade nodes based on real-time system state and availability. While nodes are upgraded one at a time to maintain service continuity, the dynamic approach enables efficient sequencing and parallel preparation of upgrade commands, minimizing overall upgrade time while preserving service continuity.
Data Source
AI summary
Techniques are provided for upgrading an external distributed storage layer that provides storage services to containerized applications hosted within a container hosting platform. An operator within the container hosting platform is custom configured to orchestrate, from within the container hosting platform, the upgrade for the external distributed storage layer. Because the external distributed storage layer and the container hosting platform are separate computing environment that utilize different namespaces, semantics, operating states, and/or application programming interfaces, a cluster controller within the container hosting platform is custom configured to reformat/translate commands between the external distributed storage layer and the container hosting platform for performing the upgrade. Because the external distributed storage layer upgrade may be part of an overall upgrade that upgrades the containerized applications hosted within the container hosting platform, the operator and cluster controller provide a single upgrade orchestration point for perform both upgrades in an orchestrated manner.


