Description: Design repository for all things OpenShift
View openshift/openshift-origin-design on GitHub ↗
The OpenShift Origin Design repository (https://github.com/openshift/openshift-origin-design) documents the architectural decisions and rationale behind OpenShift Origin, a Kubernetes-based platform for developing, deploying, and managing applications. It’s a crucial resource for understanding the core design principles that shaped OpenShift Origin, providing a historical record and justification for key choices made during its development. The repository isn’t a codebase; it’s a collection of design documents, meeting notes, and presentations that detail the evolution of the platform.
The primary goal of the repository is to provide a single source of truth for the design of OpenShift Origin. It’s organized into several key sections, each addressing a specific aspect of the platform. These include sections on the overall architecture, the cluster management system, the build system, the deployment system, the service discovery system, and the monitoring and logging system. Each section outlines the intended functionality, the technical approaches considered, and the reasons for selecting the final implementation. For example, the ‘Cluster Management System’ document details the design of the OpenShift Control Plane, explaining the roles of the Machine Controller, the Etcd cluster, and the API Server. The ‘Build System’ section explains the use of OpenShift Pipelines, outlining the workflow for building and packaging applications. The ‘Deployment System’ details the use of Operators, which are custom controllers that automate the deployment and management of applications.
Throughout the repository, you’ll find discussions around trade-offs. The design documents frequently highlight the decisions made based on factors like performance, scalability, operational complexity, and developer experience. For instance, the choice of Etcd as the distributed key-value store is explained with considerations for consistency, availability, and performance. The use of Kubernetes as the underlying container orchestration engine is also thoroughly justified, emphasizing its maturity, community support, and extensibility. The documents also address challenges encountered during development and the solutions implemented.
It’s important to note that OpenShift Origin is now superseded by OpenShift (based on OpenShift 4), which represents a significant architectural shift. While the design documents provide valuable insights into the original platform, they should be viewed as a historical record rather than a blueprint for building a new OpenShift deployment. However, the principles outlined – particularly around operator-centric deployments, declarative configuration, and the use of Kubernetes – remain central to the design of OpenShift 4 and subsequent versions. The repository is a fantastic resource for understanding the foundations of container platform development and the evolution of the OpenShift ecosystem. It’s regularly updated with new design decisions and refinements, making it a continuously evolving document reflecting the ongoing development of OpenShift.
Fetching additional details & charts...