Hosted Control Plane
Hypershift
1
Agenda
What we’ll ▸ Current deployments methods
What is Hypershift?
discuss today
▸
▸ How does it work?
▸ How to deploy it?
▸ Use cases
▸ Demo
2
Hypershift
Current deployments
method
3
Hypershift
Standalone OpenShift
4
Hypershift
Compact OpenShift
Benefit
● Self-contained
● Highly available control-plane
Trade-off
● Co-locate control-plane + workload
● Less room for actual workloads
5
Hypershift
Single Node OpenShift
Benefit
● Self contained
● Consistent platform at edge
● Resilient against power failure and network loss
Trade-off
● Co-locate control-plane + workload
● Resource constraints
● HA / Redundancy
○ Mitigated in many cases with two single node clusters where
workload is active/active on either cluster.
6
Hypershift
Customer feedback
7
Hypershift
What is Hypershift?
8
Hypershift
Hypershift is Openshift with the Control Plane hosted on a
separate cluster
Control-Plane (CP) + Workers
Management Cluster (Decoupled control plane)
Cluster 1 workers
Cluster 1 Namespace Cluster 2 Namespace Cluster 3 Namespace
(control-plane) (control-plane) (control-plane)
Worker worker
Cluster 2 workers
api-server api-server api-server
etcd etcd etcd
Worker worker
kcm kcm kcm
Cluster 3 workers
cno cno cno
Worker worker
https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/2.6/html/multicluster_engine/multicluster_engine_overview#hosted-control-planes-intro
Hypershift
Hosted Control Plane (Hypershift)
● An OpenShift Topology
● Service for hosting OpenShift control planes at scale
● Solves for cost and time to provision
● Portable across clouds
● Provides strong separation of concerns between
management and workloads.
10
Hypershift
Why Hypershift?
Value-add
Low CAPEX and OPEX costs Network & Trust Fast cluster bootstrapping
(bundling of CPs + CP as pods) segmentation (CP as Pods)
Central Management of CPs Mixed Iaas For CP and Multi-arch support
(easy operation & maintenance) Workers (e.g. CP x86, workers ARM)
11
Hypershift
Some terminology
Management Cluster An OpenShift cluster that hosts one or more control planes
Hosted Cluster An OpenShift cluster whose control plane is external to the cluster
Hosted Control Plane etcd, apiserver, controller-manager, CNO, OVN-kube master, Ingress operator.
Other operators run on the worker nodes.
12
Hypershift
OpenShift Topology
Comparaison
Standalone Externalized control plane
Deployment target Hosts (physical / virtual) Management: Cluster (as pods)
Workload: Hosts
Network Shared Separate
Management Self External
13
Hypershift
How does it work?
14
Hypershift
Hosted Control Planes APIs
Zoom-In to APIs
15
https://hypershift-docs.netlify.app/reference/api/#hypershift.openshift.io/
Hypershift
Supported target infrastructure
Cluster API
16
Hypershift
Hypershift Networking
Zoom into API server and Hosted Cluster
17
Hypershift
FEA
TU
RE
STA
TE:
Kub
erne
Hypershift Networking tes
v1.18
[be
ta]
Zoom into API server and Hosted Cluster
Konnectivity: TCP level proxy for the control plane to cluster
communication.
Consists of two parts
● the Konnectivity server in the control plane network
● the Konnectivity agents in the hosted cluster network initiate
connections to the Konnectivity server and maintain the
network connections.
After enabling the Konnectivity service, all control plane to nodes
traffic goes through these connections
18
https://kubernetes.io/docs/concepts/architecture/control-plane-node-communication/#konnectivity-service
Hypershift
Hypershift Networking
Zoom into API server and Hosted Cluster
19
Hypershift
Hypershift Networking
Domain Name Resolution
Hypershift separation between Control Plane and Data Plane enables two independent areas for DNS
configuration:
● Ingress for workloads within the hosted cluster (traditionally *.apps.)
a. Configure using hostedCluster.spec.dns
b. Record points to the hosted cluster machines (can be fronted with a LB)
● Ingress for service endpoints within the management cluster
a. Services
i. APIServer (supports only LoadBalancer or NodePort type
ii. OAuthService
iii. Konnectivity
iv. Ignition
b. Configure using servicePublishingStrategy; type LoadBalancer, Route, NodePort
c. Can integrates with external-dns operator for automatic DNS records creation
d. Records point to the hosted control plane nodes (i.e. management cluster)
20
Hypershift
Hypershift Monitoring
Configure Metrics Sets
Uses ServiceMonitor to scrap Hosted Control Plane.
HyperShift allows configuration of a "metrics set" that identifies a set of metrics to produce per control plane.
The following metrics sets are supported:
● Telemetry - metrics needed for telemetry. This is the default and the smallest set of metrics.
● SRE - metrics in Telemetry plus those needed for service reliability monitoring of HyperShift control planes.
Includes metrics necessary to produce alerts and allow troubleshooting of control plane components.
● All - all the metrics produced by standalone OCP control plane components.
The metrics set is configured by setting the METRICS_SET environment variable in the HyperShift operator
deployment:
oc set env -n hypershift deployment/operator METRICS_SET=All
21
Hypershift
How to get it?
22
Hypershift
ACM vs MCE
MCE is part of OpenShift Container Platform
23
Hypershift
Hypershift w/ OCP
MCE
24
Hypershift
Hypershift w/ ACM
ACM + MCE
25
Hypershift
Use cases
27
Hypershift
Digital twin
Test new OpenShift release
28
https://www.redhat.com/en/blog/pipelines-onboarding-cloud-native-network-functions-cnfs
https://www.redhat.com/en/blog/pipelines-cloud-native-network-functions-cnfs-part-2-pipelines-lifecycle-management
https://www.redhat.com/en/blog/pipelines-cloud-native-network-functions-cnfs-part-3-pipelines-multi-tenant-end-end-integrations
Hypershift
Digital Twin
Application onboarding
29
Hypershift
Use cases
Others
● Trust segmentation
○ Isolate tenant
● Immediate cluster
○ No waiting for machines
● Cheaper control plane
○ CP as pods, re-use all K8S way of doing
● Decoupled LCM between workload and control plane
● Heterogeneous arch clusters
● Easier operability
30
Demo
Hypershift
31
Hypershift
Demo time
Let’s create a Hypershift cluster
1. Create a normal OpenShift cluster (this will be the Management cluster)
2. Install the Hypershift cluster components (CRDs, operators)
3. Create the hosted, bare metal, cluster
32
Thank you linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
Red Hat is the world’s leading provider of enterprise
facebook.com/redhatinc
open source software solutions. Award-winning
support, training, and consulting services make
Red Hat a trusted adviser to the Fortune 500. twitter.com/RedHat
33
Hypershift
HyperShift / ACM / KCP
Problems Mapping
34