Expert Guide, Use CaseOpenShift 4.15 Cluster Installation Guide: Wie Sie ein OpenShift 4.15-Cluster auf einem VMware vSphere-Host installieren

Daniel Kaiser — 22. Juli 2024
Lesezeit: 10:25 Minuten

OpenShift 4.15 Cluster Installation Guide: Wie Sie ein OpenShift 4.15-Cluster auf einem VMware vSphere-Host installieren

So installieren Sie Schritt für Schritt einen OpenShift 4.15-Cluster auf einem VMware vSphere-Host mithilfe des Assisted Installer.

OpenShift 4.15 Cluster-Installationsanleitung mit Assisted Installer

Einleitung

Dieser Guide bietet eine detaillierte Anleitung zur Installation eines Red Hat OpenShift 4.15-Clusters auf einem VMware vSphere-Host mit dem Red Hat OpenShift "Assisted Installer". Diese Installation richtet einen Cluster mit 5 Nodes ein und umfasst Schritte für Post-Installation wie LDAP-Integration, NFS Dynamic Storage Provisioning und die Konfiguration der Image Registry.

Voraussetzungen

Bevor Sie mit der Installation beginnen, sollten Sie sicherstellen, dass Sie über die folgenden Voraussetzungen verfügen:

  1. vSphere-Infrastruktur:

    • vSphere 6.7 oder höher.
    • Administrativer Zugriff auf die vSphere-Umgebung.
  2. Hardware-Anforderungen:

    • Master-Nodes: Mindestens 3 VM's mit jeweils mindestens 8 vCPUs und 16 GB RAM.
    • Worker-Nodes: Mindestens 2 VM's mit mindestens 2 vCPUs und je 8 GB RAM.
    • Speicher: Ausreichend Festplattenspeicher für die Nodes, in der Regel mindestens 120 GB für Master und 100 GB für Worker.
  3. Netzwerkanforderungen:

    • Internetzugang: Die Nodes müssen Zugang zum Internet haben, um die erforderlichen Images und Pakete abrufen zu können.

      • DNS: Korrekte DNS-Auflösung für die Cluster-Domäne.

        • Statische Namenseinträge für die Wildcard-Routes und die API:
        *.apps.<clustername>.<DeineDomäne>.        IN	A	192.168.1.11
        ;
        api.<clustername>.<DeineDomäne>.       IN	A	192.168.1.10
        api-int.<clustername>.<DeineDomäne>.       IN	A	192.168.1.10
        
        • Namensauflösung für Master und Worker Nodes z.B.:
        control0.<clustername>.<DeineDomäne>.     IN	A	192.168.1.100
        control1.<clustername>.<DeineDomäne>.     IN	A	192.168.1.101
        control2.<clustername>.<DeineDomäne>.     IN	A	192.168.1.102
        ;
        worker0.<clustername>.<DeineDomäne>.      IN	A	192.168.1.110
        worker1.<clustername>.<DeineDomäne>.      IN	A	192.168.1.111
        
  4. Softwareanforderungen:

    • OC CLI: Installieren Sie das OpenShift CLI (oc) Tool auf Ihrem lokalen Rechner.
  5. Accounts und Schlüssel:

    • Zugriff auf den Red Hat OpenShift Cluster Manager.
    • Ausreichende Berechtigungen zum Erstellen von Ressourcen in Ihrer Infrastruktur (Bare Metal, AWS, VMware usw.).
    • Stellen Sie sicher, dass Sie über ein gültiges Red Hat-Abonnement verfügen, um auf die erforderlichen Ressourcen zugreifen zu können.
    • SSH-Schlüssel zur Verbindung mit dem Red Hat CoreOS (RHCOS).

Assisted Installer

Der Assisted Installer vereinfacht die Bereitstellung von OpenShift-Clustern. Er bietet eine webbasierte Oberfläche, die Sie durch den Installationsprozess führt und viele der damit verbundenen Aufgaben automatisiert.

Download des Assisted Installer ISO

  1. Zugriff auf den Assisted Installer:

  2. Erstellen eines neuen Clusters:

    • Klicken Sie auf "Create New Cluster".
    • Geben Sie den Clusternamen und die Domain an und wählen Sie die OpenShift-Version (4.15).
      • Cluster-Name: , zum Beispiel "ocp-test".
      • Basisdomäne: Ihre Domäne, zum Beispiel "example.com".
      • Netzwerkkonfiguration der Hosts: "Statische IP, Bridges und Bonds".
    • Klicken Sie auf "Weiter".
  3. Statische Netzwerkkonfigurationen:

    • Konfigurieren Sie die Netzwerkeinstellungen (Subnetz, DNS und Gateway).
      • DNS: Die IP-Adresse Ihres DNS-Servers, z. B. "192.168.1.1".
      • Maschinennetzwerk: Das Netzwerk, in dem sich die Maschine befindet (CIDR-Format), z. B. "192.168.1.0/24".
      • Standard-Gateway: Ihr Gateway, z. B. "192.168.1.1".
    • Klicken Sie auf "Weiter".
    • Definieren Sie die 3 Master Nodes (Host 1-3) und die 2 Worker Nodes (Host 4-5).
      • MAC-Adresse: Definieren Sie die MAC-Adresse für die Hosts, z. B. "00:50:56:b7:be:0e" (später für die VMs verwendet).
      • IP-Adresse (IPv4): Definieren Sie die MAC-Adresse für die Hosts, z. B. "192.168.1.10" (später für die VMs verwendet).
    • Klicken Sie nun auf "Weiter", um zum nächsten Schritt zu gelangen, den Sie durch erneutes Klicken auf "Weiter" überspringen können.
  4. Discovery-ISO herunterladen:

    • Klicken Sie auf "Add hosts":
      • Bereitstellungstyp: Minimale Image-Datei.
      • Öffentlicher SSH-Schlüssel: Verwenden Sie den vorbereiteten ssh-Schlüssel (id_rsa.pub).
    • Klicken Sie auf "Generate Discovery ISO".
    • Klicken Sie auf "Download Discovery ISO".
    • Dieses ISO wird verwendet, um die Nodes zu booten und sie automatisch beim "Assisted Installer" zu registrieren.

VMware-Vorbereitung

Bevor Sie mit der Installation Ihres OpenShift 4.15-Clusters beginnen, müssen Sie die VMware vSphere-Umgebung vorbereiten und die virtuellen Maschinen (VMs) für den Cluster einrichten. Schnelle Schritte:

  1. Melden Sie sich bei vSphere an.
  2. Laden Sie das Discovery-ISO hoch.
  3. Erstellen Sie die neue virtuelle Maschine mit den oben genannten Spezifikationen:
    • Verwenden Sie das "Discovery ISO" als CD-/DVD-Medium.
    • Verwenden Sie die zuvor verwendeten MAC-Adressen und IP-Adressen.
    • Die folgenden Optionen müssen eingestellt werden:
      • Erweiterte Parameter: "disk.EnableUUID = TRUE".
      • CPU: "Provide hardware-supported virtualization for the guest operating system".

Installation

Nachdem Sie die VMs in Ihrer VMware vSphere Umgebung vorbereitet und die Discovery-ISO angehängt haben, können Sie mit dem Schritt der Host-Erkennung im Assisted Installer fortfahren.

  1. Booten der Nodes:

    • Schalten Sie jede VM in Ihrer vSphere-Umgebung ein. Stellen Sie sicher, dass sie von der angehängten Discovery-ISO booten. Dadurch werden die Nodes automatisch für die Registrierung beim Assisted Installer konfiguriert.
  2. Rollen zuweisen und Namen ändern:

    • In der Assisted Installer-Oberfläche müssen Sie jedem der registrierten Nodes Rollen zuweisen.
      • Weisen Sie den drei Master-Knoten (control0, control1 und control2) die Rolle "Control plane node" (Master) zu.
      • Weisen Sie den beiden Worker-Knoten (worker1 und worker2) die Rolle "Worker" zu.
    • Wenn die Hostnamen nicht korrekt sind, korrigieren Sie sie über das Menü mit den drei Aufzählungspunkten.
    • Klicken Sie auf "Weiter".
  3. Speicherung:

    • Stellen Sie sicher, dass die Speicheroptionen korrekt eingestellt sind.
    • Klicken Sie auf "Weiter".
  4. Netzwerke:

    • API IP: Verwenden Sie die vorbereitete api. IP-Adresse, z. B. "192.168.1.10".
    • Ingress IP: Verwenden Sie die vorbereitete *.apps. IP-Adresse, z. B. "192.168.1.11".
    • Überprüfen und bestätigen Sie die Einstellungen, bevor Sie fortfahren.
    • Klicken Sie auf "Weiter".
  5. Prüfen und erstellen:

    • Überprüfen Sie noch einmal die Einstellungen in der Cluster-Zusammenfassung.
    • Wenn alles korrekt ist, starten Sie die Installation.
    • Klicken Sie auf "Install cluster".
    • Der Assisted Installer wird die Installation des OpenShift 4.15 Clusters, die Konfiguration der Control Plane und die Einrichtung der Worker Nodes automatisch durchführen.
  6. Überwachung & Anmeldeinformationen:

    • Behalten Sie den Fortschritt der Installation über die Benutzeroberfläche des Assisted Installer im Auge. Die Installation kann einige Minuten dauern.
    • Sobald die Installation abgeschlossen ist, werden Sie benachrichtigt, dass der Cluster bereit ist.
    • Laden Sie die Datei "kubeconfig" herunter. Diese Datei enthält die erforderlichen Anmeldeinformationen, um eine sichere Verbindung zu Ihrem OpenShift-Cluster herzustellen.
    • Notieren Sie sich auch den Benutzernamen und das Passwort, die später im Installationsprozess angezeigt werden.
    • Klicken Sie auf "Launch OpenShift Console".

Herzlichen Glückwunsch! Sie haben Ihr OpenShift 4.15-Cluster mithilfe des Assisted Installer erfolgreich installiert. Ihr Cluster ist nun bereit für den Zugriff und die Durchführung einiger Post-Installations Schritte.

Post-Installation

Sobald die Installation Ihres OpenShift 4.15-Clusters abgeschlossen ist, liegt der Schwerpunkt auf einigen Aufgaben nach der Installation. Dazu gehören der Zugriff auf den Cluster, die Einrichtung der LDAP-Verbindung, die Einrichtung von NFS Dynamic Storage Provisioning und die Aktivierung der Image-Registry.

LDAP

  1. Anmelden:

    • Öffnen Sie Ihren Webbrowser und navigieren Sie zur URL der OpenShift-Webkonsole, typischerweise https://console-openshift-console.apps.<clustername>.<DeineDomäne>.
    • Melden Sie sich mit dem Konto "kubeadmin" an, welches Sie zuvor gespeichert haben.
  2. Zugang OAuth:

    • Klicken Sie auf das Menü Administration in der linken Seitenleiste.
    • Wählen Sie Cluster Settings aus dem Dropdown-Menü.
    • Klicken Sie auf die Registerkarte Configuration.
    • Suchen Sie in der Liste der Konfigurationen nach OAuth und klicken Sie darauf.
  3. LDAP-Identitätsanbieter hinzufügen:

    • Klicken Sie im Abschnitt Identity Providers auf Add.
    • Wählen Sie LDAP aus der Liste der "identity provider" aus.
  4. LDAP-Details konfigurieren:

    • Geben Sie die folgenden Details im LDAP-Konfigurationsformular ein:
      • Name: Ein Name für Ihren LDAP-Anbieter (z. B. ldap).
      • URL: Die URL Ihres LDAP-Servers im Format ldaps://<ldap_server_address>:636/ou=Users,dc=example,dc=com?uid.
      • Bind DN: Der Distinguished Name, unter dem die Verbindung hergestellt werden soll (z. B. cn=admin,dc=example,dc=com).
      • Bind Password: Das Passwort für den Bindungs-DN.
      • Attribute: Ordnen Sie die LDAP-Attribute den OpenShift-Benutzerfeldern zu:
        • ID: z.B. dn.
        • Preferred Username: z.B. uid.
        • Name: z.B. cn.
        • Email: z.B. mail.
      • CA-Datei: Optional, wenn Ihr LDAP-Server eine eigene Zertifizierungsstelle verwendet, können Sie die CA-Zertifikatsdatei hochladen.
    • Klicken Sie auf "Add".
  5. Test der LDAP-Authentifizierung:

    • Melden Sie sich von der OpenShift-Webkonsole ab.
    • Versuchen Sie, sich mit einem LDAP-Benutzerkonto anzumelden, um sicherzustellen, dass die Konfiguration korrekt funktioniert. (Es kann eine Weile dauern, bis das LDAP-Symbol erscheint)

Deaktivieren des kubeadmin-Kontos

Der Benutzer kubeadmin wird während der OpenShift-Installation erstellt und bietet temporären Cluster-Administratorzugriff. Aus Sicherheitsgründen wird empfohlen, dieses Konto zu deaktivieren, sobald dauerhafte Administratoren konfiguriert sind.

Voraussetzungen

  • OC-Tools: Die OpenShift CLI (oc) ist installiert und konfiguriert, um mit Ihrem OpenShift-Cluster zu kommunizieren.
  • LDAP-Server: Ein LDAP-Identitätsanbieter ist bereits konfiguriert und betriebsbereit.
  • Neuer Admin-Benutzer: Ein Benutzer, der als Administratorkonto verwendet werden soll, z. B. exampleAdmin.

Deaktivieren des kubeadmin-Kontos

  1. Öffnen Sie ein Terminal.

  2. Melden Sie sich mit den kubeadmin-Anmeldedaten an Ihrem OpenShift-Cluster an:

    oc login -u kubeadmin -p <Passwort> https://api.<clustername>.<IhrDomain>:6443
    
  3. Weisen Sie dem dedizierten Benutzerkonto die Rolle cluster-admin zu:

    oc adm policy add-cluster-role-to-user cluster-admin exampleAdmin
    
  4. Überprüfen Sie die Berechtigungen des neuen Kontos:

    • Abmelden.

    • Anmelden mit dem exampleAdmin-Konto.

    • Stellen Sie die Berechtigungen sicher, indem Sie mehrere administrative Befehle ausführen:

      oc get projects
      oc get nodes
      
  5. Deaktivieren Sie das kubeadmin-Konto, indem Sie das Secret löschen:

    oc delete secret kubeadmin -n kube-system
    

NFS Dynamic Storage Provisioning

In diesem Abschnitt werden die Schritte zur Einrichtung des NFS Dynamic Storage Provisioning mit dem Projekt "nfs-subdir-external-provisioner" von GitHub beschrieben. Es wird vorausgesetzt, dass ein NFS-Server bereits verfügbar und konfiguriert ist.

Voraussetzungen

  1. OpenShift 4.15-Cluster: Stellen Sie sicher, dass Ihr OpenShift-Cluster läuft.
  2. NFS-Server: Ein betriebsbereiter NFS-Server mit einem freigegebenen Verzeichnis, das für die Speicherbereitstellung verwendet wird.

Installation

  1. Kopieren Sie rbac.yaml und deployment.yaml von GitHub:

    curl https://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/master/deploy/rbac.yaml > nfs-subdir-external-provisioner-rbac.yaml
    curl https://raw.githubusercontent.com/kubernetes-sigs/nfs-subdir-external-provisioner/master/deploy/deployment.yaml > nfs-subdir-external-provisioner-deployment.yaml
    
  2. Erstellen Sie das Service-Konto und die Rollen:

    oc create -f nfs-subdir-external-provisioner-rbac.yaml
    oc adm policy add-scc-to-user hostmount-anyuid system:serviceaccount:default:nfs-client-provisioner
    
  3. Bearbeiten und anwenden von nfs-subdir-external-provisioner-deployment.yaml:

    • Bearbeiten Sie nfs-subdir-external-provisioner-deployment.yaml, um Ihre NFS-Serverkonfiguration anzupassen. Aktualisieren Sie die Umgebungsvariablen mit den Details Ihres NFS-Servers:
      • DEIN_NFS_SERVER: z.B. "192.168.1.200".
      • DEIN_NFS_EXPORT_PFAD: z.B. "/var/nfs".
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nfs-client-provisioner
      labels:
        app: nfs-client-provisioner
      namespace: default
    spec:
      replicas: 1
      strategy:
        type: Recreate
      selector:
        matchLabels:
          app: nfs-client-provisioner
      template:
        metadata:
          labels:
            app: nfs-client-provisioner
        spec:
          containers:
            - name: nfs-client-provisioner
              image: k8s.gcr.io/sig-storage/nfs-subdir-external-provisioner:v4.0.2
              volumeMounts:
                - name: nfs-client-root
                  mountPath: /persistentvolumes
              env:
                - name: PROVISIONER_NAME
                  value: k8s-sigs.io/nfs-subdir-external-provisioner
                - name: NFS_SERVER
                  value: <DEIN_NFS_SERVER>
                - name: NFS_PATH
                  value: <DEIN_NFS_EXPORT_PFAD>
          volumes:
            - name: nfs-client-root
              nfs:
                server: <DEIN_NFS_SERVER>
                path: <DEIN_NFS_EXPORT_PFAD>
    
    • Anwenden der nfs-subdir-external-provisioner-deployment.yaml:
    oc create -f nfs-subdir-external-provisioner-deployment.yaml
    
  4. Erstellen einer StorageClass:

    • Definieren Sie eine neue StorageClass, die den NFS-Client-Provisioner verwendet:
    oc create -f <(echo '{
       "apiVersion": "storage.k8s.io/v1",
       "kind": "StorageClass",
       "metadata": {
          "name": "managed-nfs-storage",
          "annotations": {
            "storageclass.kubernetes.io/is-default-class": "true"
          }
       },
       "provisioner": "k8s-sigs.io/nfs-subdir-external-provisioner",
       "parameters": {
          "pathPattern": "${.PVC.namespace}-${.PVC.name}",
          "archiveOnDelete": "false"
       }
    }')
    
  5. Überprüfung der Bereitstellung:

    • Erstellen Sie ein PersistentVolumeClaim (PVC), um die dynamische Bereitstellung zu testen, oder warten Sie, bis Sie den Abschnitt "Image Registry" abgeschlossen haben.
    • Stellen Sie sicher, dass das PVC gebunden ist und das NFS-Volume erstellt wurde.

Image Registry

In diesem Abschnitt konfigurieren wir die OpenShift Image Registry so, dass sie das zuvor eingerichtete NFS Dynamic Storage Provisioning verwendet. Die OpenShift Image Registry ist für die Speicherung der Container-Images erforderlich, die von Ihren Anwendungen verwendet werden.

  1. Erstellen eines Persistent Volume Claim (PVC):

    • Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus, um ein PVC für die Image Registry zu erstellen (Namen sind nur Beispiele):
    oc create --namespace openshift-image-registry -f <(echo '
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: nfs4registry-pvc-0001
      namespace: openshift-image-registry
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 100Gi
      storageClassName: managed-nfs-storage
      volumeMode: Filesystem
    ')
    
  2. Bearbeiten der Image Registry-Konfiguration:

    • Bearbeiten Sie die Image Registry-Konfiguration, um das neu erstellte PVC zu verwenden:

      oc edit configs.imageregistry.operator.openshift.io
      
    • Aktualisieren Sie die Konfiguration im Editor, um das PVC einzuschließen:

      spec:
        storage:
          pvc:
            claim: nfs4registry-pvc-0001
      
  3. Setzen des Management-Status auf "Managed":

    • Wenden Sie den folgenden Befehl an, um den Management-Status der Image Registry auf Managed zu setzen:

      oc patch configs.imageregistry/cluster --patch '{"spec":{"managementState":"Managed"}}' --type=merge
      
  4. Überprüfen der Speicher-Konfiguration:

    • Stellen Sie sicher, dass der Status der Image Registry auf Managed geändert wurde und die Speicher-Konfiguration die NFS Dynamic Storage Provisioning widerspiegelt.
    • Stellen Sie sicher, dass das PVC an den NFS-Speicher gebunden ist.
  5. Überprüfen des Registry-Pods:

    • Navigieren Sie zum Menü Workloads und wählen Sie Pods.
    • Filtern Sie die Pods nach dem Namespace openshift-image-registry.
    • Stellen Sie sicher, dass der Image Registry-Pod ohne Probleme läuft.

Weiterführende Links zum Thema OpenShift 4.15

OpenShift Container Platform 4.15 release notes

https://docs.openshift.com/container-platform/4.15/release_notes/ocp-4-15-release-notes.html

Wenn Sie sich hierfür interessieren, dann interessieren Sie sich vielleicht auch für...