Kürzlich habe ich den Blog Provisionierung von OpenShift Clustern unter Nutzung von GitOps mit ACM veröffentlicht, in dem erklärt wird, wie OpenShift Cluster mit RHACM unter Verwendung von GitOps mit ArgoCD erstellt werden. Der OpenShift Installationstyp war IPI und war gültig für die meisten Plattformen: Azure, AWS, GCP, vSphere usw., jedoch nicht für Bare Metal. Wenn Sie schon einmal einen OpenShift Cluster in Bare Metal-Umgebungen installiert und die Verbindung trennen, wissen Sie, wie sehr es sich von anderen Installationen unterscheidet.
In diesem Blog erkläre ich, wie man einen Bare Metal OpenShift Cluster mit Assisted Installer unter Verwendung von RHACM und GitOps mit ArgoCD bereitstellt. Wenn Sie mit dem Deployment von OpenShift Clustern mit RHACM und GitOps nicht vertraut sind, empfehle ich Ihnen, meinen Artikel zu lesen: GitOps für Unternehmen: OpenShift Cluster automatisch bereitstellen und konfigurieren. Außerdem empfehle ich, den Blog Management von OCP-Infrastrukturen mit GitOps zu lesen, den ich für das erste Deployment dieser Lösung verwendet habe.
Lösungsüberblick
Ich verwende OpenShift GitOps und RHACM auf die gleiche Weise wie beschrieben in Provisionierung von OpenShift Clustern unter Nutzung von GitOps mit ACM. Ich lade die Kubernetes Objekte in ein Git-Repository hoch, ArgoCD synchronisiert diese Objekte mit unserem OpenShift Cluster und RHACM stellt den Cluster mithilfe von Bare Metal Operator, Ironic und Assisted Installer bereit.

Ich erstelle die BareMetalHosts (BMH). Dabei handelt es sich um Metal³ Custom Resource Definitions (CRDs), die einen physischen Host und seine Eigenschaften definieren. Die BMHs stellen über das Redfish-Protokoll eine Verbindung zu den physischen Knoten des Baseboard Management Controller (BMC) her. Das Netzwerk des Knotens wird mit NMstateConfig statisch konfiguriert. Der OpenShift Cluster wird mit Assisted Installer unter Verwendung der erstellten BareMetalHosts bereitgestellt.
Erstellen Sie nicht alle Objekte auf einmal. Da viele Ressourcen beteiligt sind, empfehle ich, sie nacheinander zu erstellen und ihren Status zu überprüfen. Überprüfen Sie zunächst die Voraussetzungen in der RHACM-Dokumentation, bevor Sie eine Infrastrukturumgebung erstellen, und aktivieren Sie den Central Infrastructure Management Service, der mit der Multi-Cluster-Engine bereitgestellt wird.
Wenn Sie die Voraussetzungen erfüllt haben, wechseln Sie zur RHACM-Konsole. Erstellen Sie in der Infrastrukturumgebung die Bare Metal-Hosts und verbinden Sie sie mit Redfish mit dem BMC des Hosts. Als Nächstes stellen Sie einen Cluster mit den Bare Metal-Hosts (vorhandene ermittelte Hosts) wie folgt bereit: Erstellen Ihres Clusters in ACM mit der Konsole. Überprüfen Sie die beim Deployment erstellten Objekte, wechseln Sie zur Befehlszeile, und stellen Sie einen anderen Cluster bereit, indem Sie dieselben Objekte mit anderen Parametern wie folgt erstellen: Erstellen des Clusters in ACM mit der Befehlszeile. Laden Sie anschließend die YAML-Dateien in Ihr Git-Repository hoch, und erstellen Sie eine ArgoCD-Anwendung, um die Objekte zu synchronisieren.
Der letzte Schritt besteht darin, ein Helm-Chart mit allen Objekten als Vorlagen und ein ApplicationSet zu erstellen, um eine Anwendung pro Cluster zu erschaffen, wie beschrieben unter Provisionierung von OpenShift Clustern unter Nutzung von GitOps mit ACM.
Bare Metal Operator, Ironic und Assisted Installer in RHACM
- Bare Metal Operator ist die Hauptkomponente, die mit der Ironic API verbunden ist und alle für die Bereitstellung von Bare Metal-Hosts erforderlichen Vorgänge ausführt, z. B. die Überprüfung der Hardwarefunktionen, die Installation des Betriebssystems und die Neuinitialisierung beim Wiederherstellen eines Bare Metal-Rechners in seinen ursprünglichen Status.
- Ironic ist ein Service zur Automatisierung der Provisionierung und des Lifecycle Managements von Bare Metal-Rechnern.
- Der OpenShift Assisted Installer ermöglicht die einfache Provisionierung neuer Bare Metal-Rechner und das Erstellen von OpenShift Clustern. Der Assisted Installer überprüft, ob alle Hosts die Anforderungen erfüllen, und löst das Deployment des OpenShift Container Platform Clusters aus. Alle Knoten (BMHs) haben das Red Hat Enterprise Linux CoreOS (RHCOS)-Image auf die Disk geschrieben.
- Der Assisted Image Service passt RHCOS-Images für den Assisted Installer Service an und stellt sie bereit. Es lädt beim Start, basierend auf der Konfiguration. eine Reihe von RHCOS-Images herunter.
Der Provisionierung-Workflow eines Assisted Installers:

Objekte
Im Kapitel der RHACM Dokumentation Cluster erstellen mit der Befehlszeile finden Sie alle Objekte, die Sie für das Deployment des Clusters mit Assisted Installer benötigen:
- Namespace
- ClusterImageSet
- ClusterDeployment
- AgentClusterInstall
- NM StateConfig
- BaremetalHost
- InfraEnv
- KlusterletAddonConfig definieren
- ManagedCluster

Nützliche Tipps
- Überprüfen Sie, wie oben erwähnt, die Voraussetzungen, insbesondere die Konnektivität zwischen den IP-Adressen des Out-of-Band-Management-Hosts und RHACM. Für virtualmedia müssen Sie Port 6183 öffnen. Die Fehlerbehebung mit virtualmedia, assisted-agent und ignition kann schwierig sein. Versuchen Sie daher, Zugriff auf die Host-ILO und ein virtuelles Terminal zu erhalten. Dadurch wird die Fehlerbehebung erheblich einfacher.
- Erstellen Sie nicht alle Objekte gleichzeitig. Erstellen Sie sie nacheinander und überprüfen Sie ihren Status.
- Kontaktieren Sie Red Hat Professional Services, um Unterstützung zu erhalten. Obwohl wir unser Wissen durch die Veröffentlichung von Blogs, Lösungen und Artikeln wie diesem offen mit Ihnen teilen, bringt jede Umgebung ihre eigenen Anpassungen und Herausforderungen mit sich. Wir verfügen über eine umfangreiche Erfahrung mit vielen Kunden weltweit.
Zusammenfassung
In den obigen Schritten wurde ein Bare Metal OpenShift Cluster mit RHACM und einem On-Premise Assisted Installer bereitgestellt.
Überprüfen Sie zunächst die Voraussetzungen. Wenn die Voraussetzungen erfüllt sind, wechseln Sie zur RHACM-Konsole, erstellen Sie die Bare Metal-Hosts, und überprüfen Sie deren Status. Stellen Sie anschließend mithilfe von Assisted Installer und den Bare Metal-Hosts einen OpenShift Cluster bereit. Wechseln Sie beim erfolgreichen Deployment zur Befehlszeile, und erstellen Sie die Objekte nacheinander und überprüfen deren Status. Erstellen Sie abschließend die Objekte in einem Git-Repository und synchronisieren Sie sie mit ArgoCD im RHACM-Cluster.
Wenn Sie das Deployment von Bare Metal OpenShift Cluster als Self Service-Ressource automatisieren möchten, können Sie ein Helm-Chart mit allen Objekten und ein ArgoCD ApplicationSet erstellen, um jeden Cluster mit dem Helm-Chart bereitzustellen, wie beschrieben in Provisionierung von OpenShift Clustern unter Nutzung von GitOps mit ACM.
Über den Autor
Alberto Gonzalez de Dios is a Senior Cloud consultant: Automation and OpenShift specialist. He joined Red Hat in 2018, and he is certified in Azure, AWS and Red Hat (Red Hat Certified Architect Level II).
Nach Thema durchsuchen
Automatisierung
Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen
Künstliche Intelligenz
Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen
Open Hybrid Cloud
Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.
Sicherheit
Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren
Edge Computing
Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen
Infrastruktur
Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen
Anwendungen
Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen
Virtualisierung
Erfahren Sie das Neueste über die Virtualisierung von Workloads in Cloud- oder On-Premise-Umgebungen