Description: Hyperscale OpenShift - clusters with hosted control planes
View openshift/hypershift on GitHub ↗
Hypershift is an open-source project from Red Hat focused on enabling the automated provisioning and lifecycle management of Kubernetes clusters, specifically targeting OpenShift, *on* public cloud infrastructure. It aims to simplify and accelerate the deployment of OpenShift clusters, reducing the operational overhead traditionally associated with managing Kubernetes infrastructure. Instead of manually configuring cloud resources and installing OpenShift, Hypershift automates the entire process, leveraging cloud provider APIs and declarative configuration. It's designed to be a platform for building and operating Kubernetes infrastructure as code.
At its core, Hypershift operates by creating "managed clusters" – fully functional OpenShift clusters provisioned and managed by a central "management cluster." The management cluster acts as the control plane, handling the lifecycle operations (creation, upgrade, scaling, deletion) of the managed clusters. This architecture decouples the control plane from the worker nodes, offering benefits like centralized policy enforcement, simplified upgrades, and improved security. Hypershift doesn't modify the OpenShift code itself; it orchestrates the underlying infrastructure and OpenShift installation process. It achieves this through a custom Kubernetes Operator that handles the complex workflows.
The project utilizes a declarative approach, meaning users define the desired state of their managed clusters through Kubernetes Custom Resource Definitions (CRDs). Specifically, the `ManagedCluster` CRD defines the specifications for a new cluster, including cloud provider details (AWS, Azure, GCP, vSphere), region, size, and OpenShift version. Hypershift then reconciles the actual state of the cluster with the desired state defined in the CRD, automatically provisioning resources and installing OpenShift. This "infrastructure as code" approach promotes repeatability, version control, and automation.
Key components of Hypershift include the `hypershift` CLI tool for interacting with the management cluster, the `ManagedCluster` CRD, and the Hypershift Operator. The Operator is responsible for the heavy lifting – provisioning cloud resources (VMs, networking, storage), installing the OpenShift control plane and worker nodes, and configuring the cluster. It leverages cloud-init for initial node configuration and utilizes a bootstrapping process to establish communication between the management and managed clusters. The project also includes tooling for managing SSH keys and cloud credentials securely.
Hypershift is particularly valuable for organizations looking to rapidly deploy and scale OpenShift clusters across multiple cloud environments. It addresses common challenges like infrastructure complexity, manual configuration errors, and lengthy deployment times. While initially focused on OpenShift, the underlying principles and architecture could potentially be extended to support other Kubernetes distributions. The project is actively developed and continues to add features, including improved support for different cloud providers, enhanced security features, and more granular control over cluster configuration. It represents a significant step towards fully automating the Kubernetes lifecycle and enabling a truly cloud-native operational model.
Fetching additional details & charts...