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:
vSphere-Infrastruktur:
- vSphere 6.7 oder höher.
- Administrativer Zugriff auf die vSphere-Umgebung.
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.
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
Softwareanforderungen:
- OC CLI: Installieren Sie das OpenShift CLI (oc) Tool auf Ihrem lokalen Rechner.
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
Zugriff auf den Assisted Installer:
- Besuchen Sie den Red Hat OpenShift Cluster Manager und melden Sie sich mit Ihrem Red Hat-Konto an.
- Klicken Sie auf "Assisted Installer clusters".
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".
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.
- Konfigurieren Sie die Netzwerkeinstellungen (Subnetz, DNS und Gateway).
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.
- Klicken Sie auf "Add hosts":
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:
- Melden Sie sich bei vSphere an.
- Laden Sie das Discovery-ISO hoch.
- 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.
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.
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".
- In der Assisted Installer-Oberfläche müssen Sie jedem der registrierten Nodes Rollen zuweisen.
Speicherung:
- Stellen Sie sicher, dass die Speicheroptionen korrekt eingestellt sind.
- Klicken Sie auf "Weiter".
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".
- API IP: Verwenden Sie die vorbereitete
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.
Ü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
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.
- Öffnen Sie Ihren Webbrowser und navigieren Sie zur URL der OpenShift-Webkonsole, typischerweise
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.
LDAP-Identitätsanbieter hinzufügen:
- Klicken Sie im Abschnitt Identity Providers auf Add.
- Wählen Sie LDAP aus der Liste der "identity provider" aus.
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
.
- ID: z.B.
- CA-Datei: Optional, wenn Ihr LDAP-Server eine eigene Zertifizierungsstelle verwendet, können Sie die CA-Zertifikatsdatei hochladen.
- Name: Ein Name für Ihren LDAP-Anbieter (z. B.
- Klicken Sie auf "Add".
- Geben Sie die folgenden Details im LDAP-Konfigurationsformular ein:
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
Öffnen Sie ein Terminal.
Melden Sie sich mit den kubeadmin-Anmeldedaten an Ihrem OpenShift-Cluster an:
oc login -u kubeadmin -p <Passwort> https://api.<clustername>.<IhrDomain>:6443
Weisen Sie dem dedizierten Benutzerkonto die Rolle
cluster-admin
zu:oc adm policy add-cluster-role-to-user cluster-admin exampleAdmin
Ü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
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
- OpenShift 4.15-Cluster: Stellen Sie sicher, dass Ihr OpenShift-Cluster läuft.
- NFS-Server: Ein betriebsbereiter NFS-Server mit einem freigegebenen Verzeichnis, das für die Speicherbereitstellung verwendet wird.
Installation
Kopieren Sie
rbac.yaml
unddeployment.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
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
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
- Bearbeiten Sie
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" } }')
Ü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.
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 ')
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
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
Ü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.
Ü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