Die Einführung der Container-Technologie hat die Anwendungsentwicklung erheblich vereinfacht, und Kubernetes steht an der Spitze dieses Fortschritts. Kubernetes ist eine Open-Source-Plattform, die die Orchestrierung Ihrer Container auf mehreren Maschinen übernimmt. Eine dieser Kubernetes-Plattformen, Red Hat OpenShift (von Red Hat), bietet Benutzern die Möglichkeit, Cloud-Anwendungen automatisch zu skalieren. Es verfügt über Anwendungscontainer, die von bereitgestellt werden Docker mit Orchestrierungs- und Verwaltungsdiensten mit freundlicher Genehmigung von Kubernetes. Daher gewinnt OpenShift aufgrund seiner einfachen Containerarchitektur an Popularität. Es bietet eine integrierte Bereitstellungsarchitektur für die Verwaltung der Container mithilfe von Kubernetes-Orchestrierungsdiensten. Daher nutzen mehrere Produkte diese Bereitstellung.
Zum Beispiel ist es vollständig NCache-unterstützt. NCache ist eine verteilte In-Memory-Caching-Lösung, die hohe Leistung und Skalierbarkeit gewährleistet. Zwischenspeichern Ihrer Daten mit NCache reduziert Ihre Netzwerkfahrten und die Belastung Ihrer Datenbank, da sich Ihre Daten im Cache befinden, näher an Ihrer Anwendung. In diesem Artikel konzentrieren wir uns auf die erforderlichen Schritte für NCache Bereitstellung in Red Hat OpenShift.
NCache Details NCache Bereitstellung in OpenShift-Docs Verwenden Sie die NCache im OpenShift-Video
NCache Bereitstellungsarchitektur in Red Hat OpenShift
Mit der NCache, können Sie Ihre auf der OpenShift-Umgebung basierende Cloud-Orchestrierung mit zusätzlichen genießen NCache Funktionen mithilfe einer einfach zu verwaltenden Containeranwendung. Sie können mit einem einzelnen Kubernetes-Cluster mit unterschiedlichen Anwendungsbereitstellungen beginnen und, was entscheidend ist, die NCache Cluster-Bereitstellung. Derzeit sind die in der Umgebung ausgeführten Docker-basierten Containeranwendungen:
- Java-Webanwendung
- Java Web Services-Anwendung
- ASP.NET Core Anwendung
Diese Anwendungen haben NCache Eingerichtet; Insbesondere verwenden die Java-Anwendungen Java-Clients von NCache, während eine separate Bereitstellung für ASP.NET core Anwendungen verwendet ein Docker-Image auf Linux und beschäftigen die .NET Core Kunde für NCache Kommunikation. Für die serverseitige Bereitstellung verwendet es a Linux-basierter Docker Bild für NCache verfügbar auf Docker-Hub.
Die Anwendungen verbinden sich mit einem Dienst namens Cache Discovery Service – einem Headless-Dienst innerhalb von Kubernetes. Es dient dem Zweck, das Routing und die Zuweisung von Ressourcen zu verwalten, die Teil des sind NCache Cluster. In ähnlicher Weise stellt auch ein Remote-Überwachungs-Gateway eine Verbindung zu diesem Dienst her, um die Überwachung des Cache-Clusters von außerhalb von Kubernetes für alle Vorgänge wie z NCache Cache-Verwaltung.
Bei der Arbeit mit Kubernetes verwenden wir Pods. Im Wesentlichen werden IPs in Kubernetes Pods zugewiesen. Ein Pod ist ein Kubernetes-Objekt, das die zugrunde liegende Containerinstanz kapselt und gleichzeitig als virtuelle Ebene über einem Container fungiert. Ein einzelner Pod kann mehrere Container haben, aber es wird dringend empfohlen, dass ein einzelner Pod einen einzigen Container enthält. Kurz gesagt, die gesamte Ressourcenzuweisung in einem Kubernetes-Cluster erfolgt auf dem Pod statt auf dem Container.
Das folgende Diagramm gibt eine Gesamtdarstellung des Architekturflusses der NCache Einsatz:
NCache Details Erste Schritte mit Docker Docker-Linux
Schritt 1: Bereitstellen NCache Fertige Server
Bereitstellen NCache Server in Red Hat OpenShift erfordern, dass Sie eine YAML-Datei mit Ihrem erstellen NCache Konfigurationen. Diese YAML-Bereitstellungen enthalten alle Komponenten Ihrer Anwendung und sind sehr einfach bereitzustellen. Stellen Sie sicher, dass Sie diese Komponenten gemäß Ihren Anwendungsanforderungen anpassen. Unten ist die Beispiel-YAML-Datei mit den Konfigurationen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: containers: - name: ncache image: docker.io/alachisoft/ncache:latest ports: - name: management-tcp containerPort: 8250 - name: management-http containerPort: 8251 - name: client-port containerPort: 9800 |
Kubernetes entwickelt sich sehr schnell und bringt immer wieder neue Funktionen, die schnell Teil der Kern-API werden. Einige Merkmale folgen jedoch aufgrund ihres experimentellen Charakters nicht dieser Bahn. Also setzen wir die „apiVersion“ entsprechend. Die hier verwendete Version ist „v1beta1“, die von der zugrunde liegenden Kubernetes-Version abhängt. Stellen Sie also sicher, dass Sie keine veraltete Version verwenden.
Die in der Bereitstellungsdatei erwähnten Ports umfassen Folgendes:
- Port 8250: Für die TCP-Verwaltung.
- Port 8251: Für die HTTP-Verwaltung und -Überwachung.
- Port 9800: Für die Kommunikation zwischen den Clientanwendungen, mit denen eine Verbindung hergestellt wird NCache.
Zuerst stellen wir kind auf Deployment ein. Das nächste ist die Anzahl der Replikate (in diesem Fall 2), und Sie können sie gemäß Ihrer Logik erhöhen. Weitere Einzelheiten zu Pod-Repliken finden Sie unter hier. Für Container müssen Sie das Docker-Image angeben, indem Sie den Pfad der angeben NCache Enterprise Server-Linux-Docker-Image verfügbar auf Docker-Hub. Der allgemeine Befehl zum Abrufen dieses Docker-Images lautet:
1 |
docker pull alachisoft/ncache:latest |
Nachdem Sie die YAML-Datei mit allen erforderlichen Konfigurationen erstellt haben, müssen Sie die Datei mithilfe der OpenShift-Webkonsole importieren. Erstellen Sie ein neues Projekt mit einem Namen Ihrer Wahl und importieren Sie die YAML-Datei in das Projekt, das die NCache Einsätze. Sie können auch die verwenden OpenShift-CLI-Tool, die den Status der Bereitstellungen anzeigt.
NCache Details NCache Bereitstellungsszenarien Portweiterleitungs-Docker
Schritt 2: Erstellen Sie einen Cache-Erkennungsdienst
Wie bereits erwähnt, ist der Cache Discovery Service für das Routing aller verantwortlich NCache Kommunikation mit zugrunde liegenden Pods. Dieser Erkennungsdienst fungiert als zentrales Kommunikationsgateway zwischen den Clientanwendungen und NCache Cache-Cluster, die Teil des Kubernetes-Clusters sind. Darüber hinaus ist es ein Headless-Dienst und ruft die IP-Adressen des zugrunde liegenden ab NCache Cache-Server-Pods im Kubernetes-Cluster.
Um einen solchen Dienst zu erstellen, müssen Sie eine weitere YAML-Datei erstellen, wie unten gezeigt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
apiVersion: v1 kind: Service metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None sessionAffinity: ClientIP selector: app: ncache ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
Hier heißt es Cacheserver. Sie können jedoch entsprechend Ihrer Konfigurationen darauf verweisen. In diesem Fall ist die „Art“. . Außerdem enthält es die Ports mit Namen und Portnummern, die für die Kommunikation mit dem Erkennungsdienst erforderlich sind. Die „sessionAffinity“ wird auf die ClientIP gesetzt – wodurch sichergestellt wird, dass die Verwaltungs- und Überwachungsvorgänge außerhalb des Kubernetes-Clusters zum gegebenen Zeitpunkt an einem der Pods hängen bleiben. Nachdem Sie die YAML-Datei erstellt haben, importieren Sie diese Datei über den Assistenten, und Ihr Cache-Erkennungsdienst wird automatisch erstellt, wie in der Abbildung unten gezeigt.
Schritt 3: Management-Gateway erstellen
Dieser Schritt arrangiert die Verwaltung und Überwachung von Vorgängen außerhalb des Kubernetes-Clusters. Alle Verwaltungsvorgänge, die stattfinden, werden über dieses Gateway zu diesem Cache-Erkennungsdienst geleitet, was Ihnen wiederum dabei helfen würde, alle zugrunde liegenden Pods zu verwalten und zu überwachen.
So erstellen Sie das Management-Gateway:
- Gehen Sie zum Abschnitt „Networking“ des OpenShift-Portals.
- Wählen Sie eine „Route“ aus dem Dropdown-Menü.
- Erstellen Sie eine Route zum kopflosen Dienst – auch bekannt als Cache Discovery Service.
- Geben Sie einen Namen für die Route ein und wählen Sie den im vorherigen Schritt erstellten Dienst „Cacheserver“ aus. Geben Sie außerdem den Zielport 8251 für die Verwaltung und Überwachung außerhalb des Kubernetes-Clusters an.
5. Wählen Sie nach der Erstellung den Standortpfad aus, zu dem die Weiterleitung erfolgt NCache Web Manager bei einem der Cache-Server-Pods für „Location“.
Schritt 4: Erstellen Sie einen Cache-Cluster
Jetzt haben wir die Bereitstellung erfolgreich durchgeführt NCache in Red Hat OpenShift können wir einen Cache-Cluster mit erstellen NCache Web Manager.
Erstellen Sie den Cache-Cluster, indem Sie die Schritte im ausführen Dokumentation und stellen Sie sicher, dass die verwendeten IPs die IPs Ihrer Cache-Pods sind. Um die IPs der Cache-Pods abzurufen, gehen Sie in der OpenShift-Webkonsole oder im Befehlszeilentool zum Abschnitt „Pods“. Einmal die Cache-Erstellung abgeschlossen ist, starten Sie den Cache mit NCache Web Manager.
NCache Details Erstellen Sie einen Cache-Cluster Cache-Verwaltungsvorgang
Schritt 5: Clientanwendungen bereitstellen
Sie können jetzt Ihre Clientanwendungen bereitstellen und ausführen, indem Sie eine YAML-Datei erstellen, die die Bereitstellung für Clients enthält. Wir importieren diese Bereitstellungsdatei über das OpenShift-Portal. Die Client-Anwendungen können sein .NET Core oder Java nach Bedarf.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
apiVersion: apps/v1beta1 kind: Deployment metadata: name: clientapp labels: app: clientapp spec: replicas: 1 template: metadata: labels: app: clientapp spec: containers: - name: clientapp image: your-client-application-repo-path ports: - name: management-tcp containerPort: 8250 |
Um sich mit dem Cache zu verbinden, benötigen wir hier nicht die IP-Adressen der Cache-Pods. Der von uns erstellte Cache-Erkennungsdienst mit dem Namen „cacheServer“ stellt unserer Client-Anwendung zur Laufzeit die IP-Adresse von Cache-Pods bereit. Das NCache Der Client verfügt über diese integrierte Logik, um mit seinem benannten Dienst zu kommunizieren und automatisch alle zugrunde liegenden Ressourcen innerhalb der OpenShift Kubernetes-Plattform zu erkennen.
Daher die NCache Der Client ist intelligent genug, um eine Verbindung zu einem vollständig verbundenen Cluster herzustellen, indem er den Namen des Dienstes bereitstellt.
Schritt 6: Überwachung NCache Cluster
NCache enthält verschiedene Tools, mit denen Sie Ihren Cache-Cluster überwachen können. Durch die Überwachung Ihres Cache-Clusters erhalten Sie Echtzeitinformationen über den Zustand des Clusters, die Cache-Aktivität, die Anzahl der stattfindenden Vorgänge und vieles mehr. Sie können auch Ihren Cache-Cluster überwachen, um geeignete Maßnahmen für Netzwerkunterbrechungen, Speicher-Overheads und vieles mehr zu ergreifen.
NCache Web Manager ist ein Management-Tool von NCache um die Caches zu konfigurieren und ihre Leistung zu überwachen. Ähnlich, NCache Webmonitor ist ein Webverwaltungstool, mit dem Sie die Cache-Leistung in Echtzeit überwachen können.
Schritt 7: Skalierung NCache Cluster
NCache ist ein verteiltes Caching-System mit einer sehr skalierbaren Architektur. Um also eine verbesserte Kapazität und Funktionalität zu erreichen, z NCache In Ihrer OpenShift-Umgebung können Sie Ihre skalieren NCache Cluster durch Hinzufügen weiterer Pods. Es gibt mehrere Möglichkeiten, dies zu erreichen. Beginnend mit dem OpenShift-Webportal:
- Gehen Sie zu „Bereitstellungen“.
- Klicken Sie auf die Schaltfläche „Anzahl bearbeiten“.
- Erhöhen Sie die Anzahl der Pods, indem Sie auf die Schaltfläche „+“ klicken.
Wenn Sie mit diesen Schritten automatisch fortfahren, erhöht sich die Anzahl der Replikate in Ihrer Bereitstellungsdatei entsprechend der Anzahl der hinzugefügten Pods. Es kann auch mit erfolgen OpenShift CLI (oc)-Tool.
Beachten Sie, dass Sie durch Hinzufügen dieser Pods einen weiteren Pod erstellen, der jedoch nicht selbst Teil des Clusters wird. Also zu Cache-Server hinzufügen zu einem laufenden Cache-Cluster wechseln Sie von zur Seite Server Nodes NCache Web Manager und fügen Sie eine Server-IP hinzu, um diesen Serverknoten im Cluster hinzuzufügen. Ein Serverknoten wird Ihrem Cache-Cluster zur Laufzeit hinzugefügt und verbessert die Leistung drastisch mit NCacheist einfach zu skalieren.
NCache Details NCache Bereitstellung in OpenShift Verwenden Sie die NCache bei OpenShift
Zusammenfassung
Grundsätzlich NCache Die Bereitstellung in Red Hat OpenShift ist ein einfach zu befolgendes, schrittweises Verfahren. Die Containerisierung ist eine aufkommende technologische Notwendigkeit der heutigen Welt für die Leichtigkeit, die sie bieten. NCache ist eine extrem schnelle verteilte Caching-Lösung, und mit Red Hat OpenShift können Sie Ihren containerisierten Kubernetes-Cluster ganz einfach verwalten. Also, treten Sie ein in die Welt von NCache um Ihre Anwendungen mit nur wenigen einfachen Schritten auf dem Kubernetes-Cluster auszuführen.