Wie man Fusion 5 auf OpenShift von Red Hat ausführt
Letztes Jahr haben wir das Cloud-native Fusion 5 veröffentlicht, ein Update unseres Flaggschiffs, der Such- und KI-Plattform, die auf einer Microservices-Architektur basiert, um moderne Devops und verteilte Skalierung zu unterstützen. Das Herzstück der Architektur von Fusion 5 ist Kubernetes, das die dynamische Verwaltung von Anwendungsressourcen bei schwankender Auslastung ermöglicht und eine bessere Kostenoptimierung in der Cloud erlaubt. Da wir weiterhin mit großen Unternehmen an deren digitaler Transformation arbeiten, haben wir untersucht, wie sich die moderne Architektur von Fusion 5 am besten für Umgebungen hinter der Firewall nutzen lässt.
Einige unserer Kunden konnten Fusion 5 problemlos über öffentliche Cloud-Plattformen wie Google Kubernetes Engine (GKE) bereitstellen. Es gibt jedoch immer noch viele Unternehmen, die hybride oder private Cloud-Umgebungen nutzen müssen, weil sie über Altsysteme verfügen oder mit sensiblen Daten und Compliance-Vorschriften zu tun haben.
Rechenzentren vor Ort sind komplex, und es gibt keine einheitliche Bereitstellungsarchitektur. Eine Lösung, die wir für diese Kunden, die Fusion hinter der Firewall einsetzen, empfehlen, ist OpenShift von Red Hat. Mit OpenShift können Kunden die Vorteile der Flexibilität von Fusion 5 nutzen und gleichzeitig die Compliance-Standards einhalten.
OpenShift hilft Unternehmen bei der Modernisierung des Betriebs
Im Vergleich zur Nutzung einer verwalteten Kubernetes-Plattform in der öffentlichen Cloud ist eine DIY-Kubernetes-Installation vor Ort ein komplexes Projekt. Wenn Sie die Kubernetes-Infrastruktur selbst verwalten, müssen Sie eine Menge Konfigurationen und Synchronisierungen zwischen Systemen und Prozessen vornehmen, für die die meisten Teams nicht über das nötige Fachwissen verfügen.
OpenShift bietet eine verwaltete Kubernetes-Option, die in privaten oder hybriden Cloud-Umgebungen eingesetzt werden kann und es Unternehmen ermöglicht, ihre bestehenden Rechenzentren zu nutzen und gleichzeitig den Betrieb zu modernisieren. Seit Version 3.x wurde OpenShift für natives Kubernetes entwickelt und ermöglicht eine unkomplizierte Installation und Verwaltung von Fusion 5.
Der Rest dieses Beitrags richtet sich an technische Benutzer, die die Bereitstellung und Verwaltung von Fusion auf OpenShift ausprobieren möchten. Lucidworks Fusion kann über die folgenden Schritte aufgerufen werden und wird mit einer 30-tägigen Testlizenz geliefert. Wenn Sie Fusion länger in der Produktion einsetzen möchten, setzen Sie sich bitte mit dem Vertrieb in Verbindung.
Erste Schritte mit der Fusion on OpenShift-Bereitstellung über Projekte
Der Prozess der Bereitstellung von Fusion auf OpenShift ist fast identisch mit dem anderer Kubernetes-Plattformen. In diesem Beitrag zeige ich Ihnen, wie Sie Fusion für ein OpenShift-Projekt bereitstellen, anstatt einen Kubernetes-Namespace zu verwenden (obwohl Namespaces automatisch mit jedem Projekt erstellt werden). Projektvorlagen können dazu beitragen, Bereitstellungen zu standardisieren, indem OpenShift-Objekte wie Rollenbindungen, Ressourcenkontingente und Netzwerkrichtlinien Ihren Anforderungen entsprechend zugeordnet werden.
Erstellen Sie zunächst ein neues Projekt in Ihrer OpenShift-Konsole, indem Sie zum Abschnitt Projekte navigieren und auf „Projekt erstellen“ klicken. Dadurch wird ein entsprechender Namespace mit demselben Namen erstellt.
Notieren Sie sich die Cluster-ID in der OpenShift-Konsole unter Verwaltung -> Cluster-Einstellungen. Wir werden diesen Wert als Eingabe für die nächsten Schritte verwenden.
Klonen oder laden Sie das Github fusion-cloud-native Repository lokal herunter.
git clone git@github.com:lucidworks/fusion-cloud-native.git
Um Fusion 5 auf unserem OpenShift-Cluster einzusetzen, verwenden wir das Setup-Skript, das in der lokalen Kopie des Repo enthalten ist. Bitte sehen Sie https://github.com/lucidworks/fusion-cloud-native#redhat-openshift
Navigieren Sie zu der lokalen Kopie und führen Sie das Setup-Skript unter Verwendung der Cluster-ID Ihres OpenShift-Clusters aus
./setup_f5_k8s.sh -c 46242fec-3ad6-4388-9cc4-8764bf626297 -n fusion-5-dev --provider oc
Dieser Vorgang dauert etwa 10 Minuten, um alle Fusion-Pods zu verteilen.
Überprüfen Sie, ob alle Pods erfolgreich in der OpenShift-Konsole unter Workloads -> Deployments oder über die Befehlszeile bereitgestellt wurden
oc get pods NAME READY STATUS RESTARTS AGE fusion-5-dev-admin-ui-766bf85bdc-g7ntr 1/1 Running 0 18h fusion-5-dev-ambassador-6fc95684d9-xp8bs 1/1 Running 0 18h fusion-5-dev-api-gateway-65f8f7d68b-ddvgb 1/1 Running 0 18h ...
Routen für Fusion Services
Fusion verfügt über mehrere Dienste, darunter Admin UI und REST API mit Endpunkten, auf die über HTTP/HTTPS zugegriffen werden kann. Wir werden OpenShift Routes nutzen, um diese Dienste auf dem OpenShift HAProxy Load Balancer bereitzustellen. Die Erstellung von Routes kann über die OpenShift-Konsole oder mit Hilfe des oc cli erfolgen.
In diesem Beispiel erstellen wir eine ungesicherte Route zum Fusion-Proxy, über die die Verwaltungskonsole und die REST-API zugänglich sind. Diese Beispiele gehen davon aus, dass eine Cloud-Domäne konfiguriert ist, die immer zum OpenShift-Router auflöst.
Erstellen Sie eine Route über die Openshift-Konsole oder den Befehl oc.
oc expose svc/proxy --hostname=fusion-admin.example.com
Verwalten von Netzwerkrichtlinien für Fusion
Netzwerkrichtlinien regeln, wie Gruppen von Pods miteinander und mit anderen Netzwerkendpunkten kommunizieren dürfen. Bei Fusion wird erwartet, dass der gesamte eingehende Datenverkehr über den API-Gateway-Dienst läuft. Das Gateway stellt das interne JWT bereit, das alle Fusion-Dienste bei jeder Anfrage erwarten. Wenn Sie für einen der Dienste von Fusion spezielle Regeln für den Netzwerkverkehr benötigen, können Sie diese Funktionalität über Netzwerkrichtlinien bereitstellen.
OpenShift macht es einfach, die Netzwerkrichtlinien für ein bestimmtes Projekt anzuzeigen und zu bearbeiten. Im folgenden Beispiel aktivieren wir die vordefinierten Netzwerkrichtlinien für eine bestehende Fusion-Installation und ändern den classic-rest-Dienst, um den Egress-Verkehr zu einem smb-Server für unsere smb-Datenquelle zu ermöglichen.
1. Aktivieren Sie vordefinierte Fusion Netzwerkrichtlinien
A. Öffnen Sie die generierte fusion_values.yaml aus der lokalen Kopie des Repo. Diese Datei enthält den Openshift-Cluster und die Projekt-ID als Präfix.
B. Fügen Sie den folgenden Eintrag unter den globalen Einstellungen hinzu und speichern Sie
global: networkPolicyEnabled: true
C. Führen Sie das Setup-Skript mit der Option „–upgrade“ aus
./setup_f5_k8s.sh -c <clusterID> -n <namespace> --provider oc --upgrade
D. Sobald der Prozess abgeschlossen ist, überprüfen Sie, ob die Netzwerkrichtlinien vorhanden sind, indem Sie das Fusion-Projekt in der Openshift-Konsole auswählen und zu Networking -> Network Policies navigieren.
2. Ändern Sie die bestehende classic-rest Netzwerkrichtlinie
A. Wählen Sie auf der Seite Netzwerkrichtlinien die Option „classic-rest-service“.
B. Wählen Sie die YAML-Ansicht
C. Fügen Sie einen neuen Eintrag hinzu, um den Verkehr zum smb-Server zuzulassen
- to: -ipBlock: cidr: "34.210.17.134/32" ports: - protocol: TCP port: 139 - protocol: UDP port: 139 - protocol: TCP port: 445 - protocol: UDP port: 445
D. Speichern Sie die Konfigurationsaktualisierung in der Netzwerkrichtlinie
3. Konfigurieren Sie die smb-Datenquelle in der Fusion-Benutzeroberfläche und führen Sie den Verbindungsauftrag aus.
Fazit
Wenn Sie bis zu diesem Punkt durchgehalten haben, sollten Sie das neueste Fusion 5 auf OpenShift in Betrieb haben und hoffentlich einige Ihrer Daten indizieren können. In der OpenShift- und Fusion-Dokumentation finden Sie viele Ressourcen, die Ihnen bei der Planung Ihrer Bereitstellung helfen können. Wenden Sie sich an uns, wenn Sie mehr darüber erfahren möchten, wie Sie Ihre Bereitstellung in die Produktion überführen und Fusion über die 30-tägige Testlizenz hinaus nutzen können.