Feed abonnieren

Einleitung

Möchten Sie die Kosten durch das Management Ihrer Control Planes senken? Möchten Sie den Aufwand durch das Management mehrerer Control Planes senken? Gehostete Control Planes (auch bekannt als HyperShift) für Red Hat OpenShift ermöglicht das Hosting mandantenfähiger OpenShift Cluster in großem Umfang in Amazon Web Services (AWS). Bei jedem Standalone OpenShift Cluster wird die Control Plane auf 3 Rechnerknoten geplant. Bei gehosteten Control Planes wird die Control Plane jedoch wie andere Workloads als Pods auf verfügbaren Workerknoten geplant. Dadurch können viele Control Planes erstellt und auf weniger Knoten ausgeführt werden. Cluster werden erschwinglicher, während gleichzeitig OpenShift-Mandantenprimitive wie Projekte, Richtlinien usw. wiederverwendet werden können. Während durch den Einsatz gehosteter Control Planes Kosten gesenkt werden können, kann die Nutzung von ARM Hosted Control Planes potenziell auch zu diesen Kosteneinsparungen beitragen.

ARM Hosted Control Planes können in bestehenden 64-Bit-ARM-OCP-Cluster-Umgebungen (OpenShift Container Platform) installiert werden, sodass Sie schnell mehrere ARM Hosted Control Planes mit 64-Bit-x86-NodePools bereitstellen können. Dies kann auf der Plattform AWS erfolgen und eröffnet die Möglichkeit, durch den Einsatz von ARM Hosted Control Planes Kosten zu sparen. In diesem Blog werden die Installation einer ARM Hosted Control Plane und die damit verbundenen Vorteile beschrieben.

Bitte beachten Sie, dass sich der aktuelle Supportstatus dieses Features im Bereich Technical Preview (TP) befindet und es erst in einem zukünftigen Release offiziell unterstützt wird.

Reduce Costs with ARM Hosted Control Planes on AWS-de

 

Vorteile

Die Verwendung von ARM Hosted Control Planes bietet im Vergleich zu standardmäßigen OCP-Clustern folgende zusätzliche Vorteile:

  • Mit ARM Hosted Control Planes lassen sich die Kosten im Vergleich zu einer entsprechenden x86-gehosteten Control Plane um ca. 20 % senken (Kosteneinsparungen basierend auf den Kosten pro Stunde von m6i.xlarge (x86-basiert) ggü. m6g.xlarge (ARM-basiert)
  • Reduzierter Wartungsaufwand
  • Strenge Sicherheitsgrenzen zwischen Management und Workloads
  • Ausführung vieler Control Planes auf weniger Knoten, wodurch Cluster erschwinglicher werden
  • Kürzere Startzeiten für Control Planes
  • Zentralisiert und vereinfacht das Multi-Cluster-Management

Weitere Einzelheiten zu den Vorteilen gehosteter Cluster finden Sie in der Dokumentation mit einer Übersicht über gehostete Control Planes.

Cluster-Vorbereitung

OCP 4.13.0 wird als zugrunde liegende Basis für einen 64-Bit-ARM-OCP-Cluster ausgeführt, der auf AWS gehostet wird.

  1. Installieren Sie den Multi-Cluster-Engine-Operator, 2.2.4 oder höher. Anweisungen zur Installation dieses Operators finden Sie hier.
  2. Führen Sie als Nächstes die Schritte unter, 1.7.1.2. Creating the Amazon Web Services S3 bucket and S3 OIDC secret aus, um einen AWS-S3-Bucket und ein S3-OIDC-Secret einzurichten.
    1. Führen Sie nach Schritt 1 den folgenden Befehl aus:
       

      aws s3api put-bucket-ownership-controls --bucket $BUCKET_NAME --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerPreferred}]"
  3. Führen Sie als Nächstes die Schritte unter 1.7.1.6. Enabling the hosted control planes feature aus, um gehostete Control Planes zu aktivieren.
  4. Laden Sie die HyperShift-CLI herunter, siehe 1.7.1.7 Installing the Hosted Control Plane CLI.

 

Demo

In den folgenden Abschnitten finden Sie Anweisungen für die folgenden Schritte:

  1. Konfigurieren von Umgebungsvariablen
  2. Erstellen einer ARM Hosted Control Plane und eines 64-Bit x86 Guest Clusters
  3. Hinzufügen eines zusätzlichen 64-Bit x86 Guest Clusters zur vorhandenen ARM Hosted Control Plane
  4. Löschen einer ARM Hosted Control Plane

Konfigurieren von Umgebungsvariablen

Richten Sie zunächst einige Umgebungsvariablen ein, die vom HyperShift-Befehlszeilentool benötigt werden, um den ARM-HyperShift-Operator zu installieren und den Hosted Control Plane Cluster zu erstellen. Dies folgt unmittelbar auf Schritt 1 unter 1.7.2.3. Deploying a hosted cluster on AWS.

Sie können das Image von Red Hat OpenShift Cluster Manager abrufen.

REGION=us-east-1
AWS_CREDS=~/.aws/credentials
BASE_DOMAIN=my.base.domain.com
PULL_SECRET=~/all-the-pull-secrets.json
BUCKET_NAME=my-s3-bucket
CLUSTER_NAME=my-hypershift-arm-cluster
NODEPOOL_NAME=my-additional-x86-guest-cluster
NODEPOOL_REPLICAS=2

 

Legen Sie Ihre Umgebungsvariable KUBECONFIG so fest, dass sie auf Ihren OpenShift 64-Bit ARM Management Cluster verweist.

$ hypershift % export KUBECONFIG=/Users/user/aws-oc-nightly/auth/kubeconfig

 

Erstellen einer ARM Hosted Control Plane und eines 64-Bit x86 Guest Clusters

1) Erstellen Sie als Nächstes eine gehostete Control Plane mit einem anfänglichen Guest Cluster mit 2 Knoten, und überschreiben Sie dabei das Standard-Release-Image mit einem Release-Image mit mehreren Architekturen, da der Management-Cluster 64-Bit ARM ist und die Guest Cluster der gehosteten Control Plane 64-Bit x86 sind. Dadurch wird sichergestellt, dass die richtige Bootstrapping-Konfiguration verwendet wird, wenn der gehostete Cluster und der zugehörige Guest Cluster erstellt werden.

Dies folgt unmittelbar auf Schritt 4 unter 1.7.2.3. Deploying a hosted cluster on AWS.

$ hypershift create cluster aws \ 
--name $CLUSTER_NAME \
--node-pool-replicas=$NODEPOOL_REPLICAS \
--base-domain $BASE_DOMAIN \
--pull-secret $PULL_SECRET \
--aws-creds $AWS_CREDS \
--region $REGION \
--release-image quay.io/openshift-release-dev/ocp-release:4.13.0-multi

 

2) Überprüfen Sie die erfolgreiche Erstellung des Guest Clusters mithilfe des OpenShift-Befehlszeilentools.

$ oc get nodepools --namespace clusters
NAME                                   CLUSTER                     DESIRED NODES   CURRENT NODES   AUTOSCALING   AUTOREPAIR   VERSION       UPDATINGVERSION   UPDATINGCONFIG   MESSAGE
my-hypershift-arm-cluster-us-east-1a   my-hypershift-arm-cluster   2               2               False         False        4.13.0

 

3) Überprüfen Sie die erfolgreiche Erstellung der gehosteten Control Plane.

$ oc get --namespace clusters hostedclusters
NAME                        VERSION       KUBECONFIG                                   PROGRESS    AVAILABLE   PROGRESSING   MESSAGE
my-hypershift-arm-cluster   4.13.0   my-hypershift-arm-cluster-admin-kubeconfig   Completed   True        False         The hosted control plane is available

 

4) Erstellen Sie nach erfolgreicher Erstellung des Guest Clusters und der gehosteten Control Plane eine KUBECONFIG, um zum neuen Guest Cluster zu navigieren und zu überprüfen, dass sich die AWS-Rechner im Guest Cluster befinden.

$ hypershift create kubeconfig > temp_kubeconfig
2023/03/21 11:12:32 selected 1 of 1 hostedclusters for the kubeconfig
2023/03/21 11:12:32 adding clusters/my-hypershift-arm-cluster to kubeconfig
2023/03/21 11:12:32 added clusters-my-hypershift-arm-cluster to kubeconfig
2023/03/21 11:12:32 created kubeconfig with 1 contexts
$ hypershift % export KUBECONFIG=/Users/user/hypershift/temp_kubeconfig
$ hypershift % oc get nodes
NAME                           STATUS   ROLES    AGE   VERSION
ip-10-0-142-149.ec2.internal   Ready    worker   10m   v1.26.2+06e8c46
ip-10-0-143-86.ec2.internal    Ready    worker   10m   v1.26.2+06e8c46

 

Hinzufügen eines zusätzlichen 64-Bit x86 Guest Clusters zur vorhandenen ARM Hosted Control Plane

Sie können der gehosteten Control Plane mit dem HyperShift-Befehlszeilentool nach Bedarf weitere Guest Cluster hinzufügen.

$ hypershift create nodepool aws \
--cluster-name $CLUSTER_NAME \
--name $NODEPOOL_NAME \
--node-count=$NODEPOOL_REPLICAS
NodePool my-additional-x86-guest-cluster created

 

Verwenden Sie den Befehl des OpenShift-Befehlszeilentools, um zu überprüfen, ob der neue Guest Cluster erfolgreich initialisiert wurde.

$ oc get nodepools --namespace clusters
NAME                                   CLUSTER                     DESIRED NODES   CURRENT NODES   AUTOSCALING   AUTOREPAIR   VERSION       UPDATINGVERSION   UPDATINGCONFIG   MESSAGE
my-additional-x86-guest-cluster        my-hypershift-arm-cluster   2               2               False         False        4.13.0
my-hypershift-arm-cluster-us-east-1a   my-hypershift-arm-cluster   2               2               False         False        4.13.0

 

Löschen einer ARM Hosted Control Plane

Führen Sie den folgenden Befehl aus, um die ARM Hosted Control Plane zu löschen. Dies folgt unmittelbar auf Schritt 1 unter 1.7.2.6. Destroying a hosted cluster on AWS.

$ hypershift destroy cluster aws \
--name $CLUSTER_NAME \ 
--aws-creds $AWS_CREDS

 

Zusammenfassung

Wir haben die Schritte demonstriert, die erforderlich sind, um eine ARM Hosted Control Plane mit einem mandantenfähigen 64-Bit-x86-Cluster zu installieren und zu verifizieren. Wir haben außerdem demonstriert, wie Sie mit dem HyperShift-Befehlszeilentool den ARM-HyperShift-Operator installieren, einen zusätzlichen mandantenfähigen 64-Bit-x86-Cluster unter Verwendung derselben ARM Hosted Control Plane erstellen, die erfolgreiche Erstellung der mandantenfähigen 64-Bit-x86-Cluster verifizieren, die erfolgreiche Erstellung der ARM Hosted Control Plane verifizieren und die ARM Hosted Control Plane löschen können.

Zukünftige Aufgaben

Zukünftige Aufgaben werden die Multi-Architektur-CPU-Fähigkeiten von gehosteten Control Planes erweitern. Die nächste Funktion, die hinzugefügt wird, ermöglicht die Erstellung von 64-Bit ARM NodePools auf AWS. Mit dieser Funktion können Sie 64-Bit x86 und 64-Bit ARM NodePools auf derselben gehosteten Control Plane ausführen. (Hinweis: Sie können CPU-Architekturen nicht innerhalb desselben NodePools kombinieren.)

Nach den 64-Bit ARM NodePools auf AWS werden wir die von 64-Bit ARM Hosted Control Planes und 64-Bit ARM NodePools in Zukunft auf andere On-Premise- und Cloud-Anbieter ausweiten.


Über den Autor

Senior software engineer with over 10 years of industry experience in the full software development cycle. Bryan’s work in Red Hat over the past few years has primarily focused on expanding Arm offerings in Red Hat OpenShift and development on Hosted Control Planes.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Nach Thema durchsuchen

automation icon

Automatisierung

Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen

AI icon

Künstliche Intelligenz

Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen

open hybrid cloud icon

Open Hybrid Cloud

Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.

security icon

Sicherheit

Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren

edge icon

Edge Computing

Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen

Infrastructure icon

Infrastruktur

Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen

application development icon

Anwendungen

Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen

Original series icon

Original Shows

Interessantes von den Experten, die die Technologien in Unternehmen mitgestalten