Introduction to HostedClusters

a.k.a Hypershift

3 March 2023

Juan Manuel Parrilla

Principal Software Engineer, Red Hat

Introduction to HostedCluster

2

About me

Introduction to HostedClusters by Juan Manuel Parrilla
3

Agenda

Introduction to HostedClusters by Juan Manuel Parrilla
4

What is Hypershift?

5

What is Hypershift?

HostedClusters are fully compliant as regular Openshift, with some small differences:

6

Why Hypershift?

7

Concepts

8

Providers

Focus on:

For Later:

9

HostedCluster Management

We have 3 topics here:

In general this kind of managment topics are ruled by the SRE or Openshift Management Cluster people

10

HostedCluster Management: Upgrades

Support policy of 2 versions back.

Control Plane: To perform the upgrade it's matter of edit the HostedCluster CR

  release:
    image: quay.io/openshift-release-dev/ocp-release:4.13.0-ec.2-x86_64

Data Plane: To perform the upgrade it's matter of edit the NodePool/s CR

  release:
    image: quay.io/openshift-release-dev/ocp-release:4.13.0-ec.2-x86_64
  replicas: 2
11

HostedCluster Management: MachineConfigs

In order to apply a MachineConfig we will differ a bit from the tipical OCP approach because we don't have any MachineConfig Operator. More info here:

  config: |
    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: config-change-01
    spec:
      config:
        ignition:
spec:
  config:
    - name: config-change-01
12

HostedCluster Management: Tuned

In order to apply a Tuned configuration we follows the same procedure as MachineConfig. More info here:

data:
  tuning: |
    apiVersion: tuned.openshift.io/v1
    kind: Tuned
    metadata:
      name: tuned-1
      namespace: openshift-cluster-node-tuning-operator
    spec:
      profile:
      - data: |
  tuningConfig:
    - name: tuned-1
13

Separation ControlPlane/DataPlane

Features:

14

Networking Internals

15

Networking Internals

Hosted ControlPlane and Data plane will use Konnectivity to establish a tunnel for communications from KAS to Computes and works as follows:

The diagram shows an agnostic approach, but for example, if you deploys a HostedCluster in AWS, the “Exposed Services” are AWS Load balancers. That means that in every platform we deploy we will maintain the same core pieces.

16

Main Objects and APIs

17

Demos

18

References

19

Questions?

20

Thanks!

21

Thank you