Die richtigen NCache in Azure Kubernetes Service (AKS)

Azure Kubernetes-Cluster mit Docker-Containern

Azure Kubernetes Service (AKS) ist eine Open-Source-Container-Anwendungsplattform von Microsoft, die auf dem Kubernetes-Container-Orchestrator für die Entwicklung und Bereitstellung von Unternehmensanwendungen basiert.

Wenn Sie mit .NET/.NET Core oder Java, das in Azure Kubernetes ausgeführt wird und Sie verwenden möchten NCache um seine Leistung und Skalierbarkeit für Spitzentransaktionslasten zu verbessern, dann seien Sie bitte versichert NCache unterstützt dieses Umfeld voll und ganz.

Sehen Sie sich dieses Video an, um zu sehen, wie einfach die Bereitstellung ist NCache für Ihren Azure Kubernetes-Cluster als Docker-Bereitstellung.

AKS ist ein verwalteter Containerdienst, der in der öffentlichen Microsoft Azure-Cloud verfügbar ist. Es basiert auf Anwendungscontainern, die von Docker betrieben werden, während die Orchestrierungs- und Verwaltungsdienste von Kubernetes bereitgestellt werden, und heute werde ich Ihnen Schritt-für-Schritt-Details für die Bereitstellung und Verwendung von zeigen NCache auf dieser Plattform. Fangen wir schnell damit an.

NCache Bereitstellung in AKS

Lassen Sie uns zunächst überprüfen NCache Bereitstellung in AKS.

verwenden-ncache-in-azure-kubernetes-service-aks
Die richtigen NCache in Azure kubernetes Service (AKS)

Hier ist eine typische Bereitstellung von NCache im AKS. Ich zeige einen einzelnen Kubernetes-Cluster mit verschiedenen Anwendungsbereitstellungen sowie NCache Cluster-Bereitstellung. Ich habe eine Java-Web-App, die Docker Image auf verschiedenen Pods verwendet. Ich habe auch einen Java-Webdienst, der wiederum auf verschiedenen Pods bereitgestellt wird, und diese Java-Anwendungen verwenden den Java-Client von NCache um eine Verbindung zu meinem Cache-Cluster herzustellen.

Ebenso habe ich einen ASP.NET Core Web-App, die auf verschiedenen Pods mit Docker Image bereitgestellt wird, und diese, wissen Sie, diese Instanzen verwenden .NET Core Installation von NCache um meinen Cache-Cluster zu verbinden. Mein Cache-Cluster basiert auch auf Docker Image, einem Linux-basierten Image von NCache, verfügbar auf unserer Website sowie auf Docker Hub, und das habe ich verwendet, um einen Cache-Cluster auf verschiedenen Pods zu erstellen.

Zusätzlich habe ich diese NCache Fernüberwachungs-Gateway. Das ist ein Gateway für Überwachungs- und Verwaltungsvorgänge, die von außerhalb dieses Kubernetes-Clusters ausgeführt werden, um meinen Cache-Cluster zu verwalten und zu überwachen, und ich habe diesen Cache-Erkennungsdienst. Dies ist ein Headless-Dienst, der ebenfalls benannt ist und mit dem sich meine Clients verbinden und der die gesamte Art der Serverkommunikation mit meinem Cache-Cluster verwaltet. Ich muss die IP-Adressen von Pod 10, 11 und 12 nicht kennen. Die Client-Anwendung stellt nur eine Verbindung zu diesem Erkennungsdienst her, der wiederum die Erkennung und Weiterleitung dieser Befehle oder dieser Vorgänge an die zugrunde liegenden Pods verwaltet.

Ich würde Ihnen Schritt-für-Schritt-Details zeigen, wie Sie diesen Erkennungsdienst und das Fernüberwachungs-Gateway zusammen mit dem Cache-Cluster und der Bereitstellung dieser Client-Anwendungen tatsächlich erstellen, sobald wir in unsere Hände oder unseren Teil kommen. Aber im Moment ist dies eine typische Bereitstellung von NCache in AKS mit einem einzelnen Kubernetes-Cluster.

Einrichtung der Demo-Umgebung

Hier finden Sie Details zur Einrichtung unserer Demoumgebung.

Details zur Demo-Umgebung
Details zur Demo-Umgebung

Ich verwende 2 NCache Server zum Hosten meines Cache-Clusters und ich werde 2 Client-Anwendungen ausführen, um eine Verbindung zu diesem Cache herzustellen. Ich verwende ein Linux-basiertes Docker-Image von NCache für diese Bereitstellung und wird mit diesem Tag „enterprise-server-linux-5.0.1“ dargestellt, und dieses Tag muss auch Teil Ihres Docker-Pull-Befehls sein, um dieses Image zu verwenden. Ich benutze NCache Enterprise 5.0 Service Pack 1 und .NET Core Freigabe davon. Das können Sie sowohl in Windows- als auch in Linux-Umgebungen bereitstellen, aber für die Bereitstellung in AKS verwende ich für diese Version ein Linux-basiertes Image. Ich verwende eine Java-Anwendung, die den Java-Client von verwenden wird NCache und dann benutze ich 1 .NET Core Auch die Anwendung, die verwendet wird .NET Core Auftraggeber von NCache. Innerhalb dieser Anwendungen werde ich CRUD-Operationen verwenden, die einen Anwendungsfall für das Zwischenspeichern von App-Daten für meine Anwendungen darstellen würden.

Deploy NCache Fertige Server

Der erste Schritt ist die Bereitstellung NCache Server in AKS. Fangen wir also schnell damit an. Ok, ich bin beim Azure-Verwaltungsportal angemeldet und werde dort mit allen Bereitstellungen beginnen.

Azure-Verwaltungsportal
Azure-Verwaltungsportal

Als erstes muss ich eine Ressourcengruppe erstellen, und danach würde ich fortfahren und bei allen Bereitstellungen auf „Hinzufügen“ klicken, und ich werde tatsächlich mit diesem Schritt beginnen.

Ressourcengruppen erstellen
Erstellen von Ressourcengruppen

Halten Sie alles einfach, „Review + create“, klicken Sie auf „Create“ und das würde weitergehen und eine Ressourcengruppe erstellen, in der ich meinen Kubernetes-Service bereitstellen würde. Also, wenn ich das auffrische. Danach werden wir fortfahren und unseren Kubernetes-Dienst erstellen.

kubernetes-service erstellen
Kubernetes-Dienst erstellen

Wenn ich darauf klicke, sollte ich in der Lage sein, alle Bereitstellungen darin zu sehen.

Kubernetes-Dienst
Kubernetes-Dienst

Es ist im Moment leer und als Nächstes müssen wir „Kubernetes“ erstellen, richtig, und ich kann jetzt den Kubernetes-Dienst erstellen.

suchen-und-erstellen-kubernetes-dienst
Kubernetes-Dienst suchen und erstellen

kubernetes-services-erstellen-schritt2
Erstellen von Kubernetes-Diensten

Übrigens kann ich dies auch über Azure Cloud Shell tun, das ist genau hier und „Wiederverbinden“. Oder ich kann das praktische Verwaltungsportal verwenden. Also wähle ich mein Abonnement aus und dann muss die Ressourcengruppe „aksdemo“ sein, die wir kürzlich erstellt haben. Ich werde den Kubernetes-Cluster „myaks“ nennen und wie Sie sehen können, wird auch der DNS-Name automatisch vorausgefüllt. Ich werde holen '(US) „Zentrale USA“ als meinen Standort. Die „Kubernetes-Version“ muss angegeben werden, und ich werde mit der Standardeinstellung fortfahren, aber Sie können jede gewünschte auswählen, und im Übrigen würde ich alles einfach halten. Für „Primärer Knotenpool“ muss ich die „Knotengröße“ und die „Knotenanzahl“ angeben. Sie können also entweder den Standard auswählen oder die Größe ändern. Hier wird Ihr Kubernetes-Dienst tatsächlich gehostet, richtig. Sie müssen also die richtige Wahl für einen Dienst mit genügend Arbeitsspeicher, CPU und Netzwerkressourcen treffen.

erstellen-eines-kubernetes-clusters
Erstellen eines Kubernetes-Clusters

Es bietet Ihnen viele Optionen zur Auswahl innerhalb der VM-Größen und dann basierend auf verschiedenen Parametern wie RAM, CPU, Festplatte und anderen Parametern. Ich wähle also „B2ms“, weil dies das Minimum ist, das ich für diesen Test verwenden kann, und „Knotenanzahl“ für mich 2 sein wird, aber Sie können sich beliebige Knotenanzahlen wie 2 oder 3 einfallen lassen und das ist die Anzahl der Server, die mit Kubernetes Cluster gehostet werden, richtig.

Auswahl-einer-VM
Auswählen einer VM

Nachdem ich dies durchgegangen bin, wähle ich „Überprüfen + erstellen“ und das würde meinen Kubernetes-Cluster erstellen.

überprüfen-und-erstellen-des-clusters
Überprüfen und Erstellen des Clusters

Es würde eine Reihe von Validierungen in Microsoft Azure durchführen, aber Sie können verschiedene Einstellungen wie „Skalieren“, „Authentifizierung“ und „Netzwerk“ sehen. Sie können alles als Standard beibehalten oder nach Bedarf ändern, und Sie können auch die Überwachung sehen, und wenn Sie auf „Überprüfen + erstellen“ klicken, wird der Validierungsprozess gestartet.

Validierungsprozess-beginnt
Der Validierungsprozess beginnt

Nachdem die endgültige Validierung abgeschlossen ist, drücke ich also auf „Erstellen“. Es würde 5 bis 10 Minuten dauern, dies in Microsoft Azure tatsächlich abzuschließen, aber danach sollten wir in der Lage sein, mit den Bereitstellungen zu beginnen. Wie Sie sehen können, ist Ihre Bereitstellung im Gange. Sobald dies erledigt ist, würde dies die Statusmarkierung grün färben, also muss ich dieses Video an dieser Stelle anhalten und zurückkommen, sobald dies erledigt ist. Es ist bereits fertig, wie Sie sehen können.

Bereitstellungsabschluss
Abschluss der Bereitstellung

Ihre Bereitstellung ist nach 5 bis 10 Minuten abgeschlossen, und ich kann jetzt zu „Ressourcen“ gehen und darauf basierend meinen AKS-Dienst sehen, der „myaks“ ist, los geht’s, erfolgreich erstellt.

Überprüfung-des-aks-Dienstes-aus-Ressourcen
Überprüfen des AKS-Diensts über Ressourcen

Wenn ich darauf klicke, kann ich alle Bereitstellungsdetails für diesen Dienst sehen, z. B. die Kubernetes-Version, die API-Serveradresse und dann den Status „Erfolgreich“ und den von uns angegebenen Standort. Damit ist unser Kubernetes-Service abgeschlossen.

Bereitstellungsdetails
Bereitstellungsdetails

NCache serverseitige Bereitstellung

Zurück zum Bereitstellungsdiagramm: Unser Azure Kubernetes Service wird jetzt in Microsoft Azure erstellt, ist aber im Moment leer. Der nächste Schritt ist, weiterzumachen NCache serverseitige Bereitstellung, um unseren Cache-Cluster bereitzustellen. Mal sehen, wie das geht.

In Ordnung, mein AKS-Cluster ist jetzt konfiguriert und kann für Bereitstellungen verwendet werden. Wir haben das Azure-Verwaltungsportal verwendet, aber im nächsten Schritt verwenden wir für alle Bereitstellungen eine Azure Cloud Shell, und als Erstes müssen wir auf den AKS-Cluster innerhalb dieser Shell verweisen. Dafür würde ich laufen 'az aks get-credentials' Befehl. Innerhalb von „az aks“ steht also Azure Kubernetes Service. Mit dem Befehl „get-credentials“ kann ich den aktuellen Kontext zu „myaks“ bringen, das ist unser AKS-Dienst, und innerhalb von „aksdemo“ ist das der Name der Ressourcengruppe, in der dies erstellt wird. Das würde es mir also ermöglichen, auf den Azure Kubernetes-Dienst „myaks“ zu verweisen, und ich könnte mit den Verwaltungs- und Bereitstellungsvorgängen beginnen.

azure-cloud-shell-zeigt-in-richtung-aks
Azure Cloud Shell: Zeigt auf AKS

Als Erstes müssen wir also überprüfen, ob es bereits eine Bereitstellung gibt? Also würde ich weitermachen und den Befehl ganz schnell ausführen, was ist 'kubectl holt Pods' und das würde mir die vorhandenen Pods geben. Es wurden also keine Ressourcen im Standard-Namespace gefunden, was darauf hindeutet, dass noch keine Bereitstellungen vorhanden sind.

Überprüfung-vorhandener-Bereitstellungen
Überprüfen bestehender Bereitstellungen

Aber wir müssen uns einsetzen NCache Server und dafür würde ich die mitbringen NCache YAML-Datei und dafür würde ich verwenden NCache Serverseitige Bereitstellung. Art wird also als 'Bereitstellung' ausgewählt, Name ist natürlich 'ncache', also werde ich mich in Zukunft auf die gesamte serverseitige Bereitstellung von beziehen NCache auch innerhalb anderer Dienste und innerhalb der Client-Anwendungen. Das Image, das wir verwenden, ist ein Linux-basiertes Docker-Image von NCache und ich verwende zwei Replikate. Im Wesentlichen haben wir zwei Pods, wo NCache Der Cluster wird zu Beginn bereitgestellt, und dann können wir zu einem späteren Zeitpunkt weitere Pods hinzufügen. Das Docker-Image, lassen Sie uns ein bisschen mehr darüber sprechen. Das Docker-Image, das wir verwenden, ist Linux 5.0.1 Docker Image, das auf unserer verfügbar ist Alachisoft Docker-Hub-Seite.

ncache-yaml-Datei
NCache YAML-Datei

Wir haben einen 'docker pull'-Befehl, der Ihnen standardmäßig ein Windows-Image holt, aber Sie können auch Linux verwenden, indem Sie dieses Tag hier 'enterprise-server-linux-5.0.1' verwenden, und das würde Sie holen und das verwende ich.

Docker-Pull-Command-on-alachisoft-Webseite
Befehl „Docker Pull“ aktiviert Alachisoft Webseite

Lassen Sie uns also fortfahren und diese YAML-Datei hinzufügen, um damit zu beginnen NCache Serverseitige Bereitstellung. Also, ich werde laufen 'kubectl create -f' und stellen Sie diese YAML-Datei für den Anfang bereit NCache Serverkonfiguration und Last NCache Linux-basiertes Image in unserem AKS-Cluster. Da gehst du, NCache Bereitstellung wird erstellt. So einfach ist das.

ncache-serverseitige Bereitstellung
NCache Serverseitige Bereitstellung

Als Teil der Bereitstellung hat dies auch einige Verwaltungs- und Überwachungsports geöffnet, 8250 und 8251. Alle Pods hätten also diese Ports für Verwaltung und Überwachung geöffnet, und das auch von außerhalb dieses Kubernetes-Clusters, und dann haben wir auch die 'client-port', das ist Port 9800 und das ist der Haupt-Client-zu-Server-Kommunikationsport, den unsere Anwendung verwenden und mit diesem Cache-Cluster verbinden würde. An dieser Stelle unsere NCache Die serverseitige Bereitstellung in EKS ist abgeschlossen.

Management-und-Überwachungsports
Management- und Monitoring-Ports

Als Nächstes erstellen wir ein Erkennungs- und Verwaltungsgateway und kommen dann zurück und überprüfen alle diese Bereitstellungen auf einmal.

Cache-Erkennungsdienst

Nun, da unsere NCache Server-Pods wurden erfolgreich in AKS bereitgestellt, der nächste Schritt besteht darin, einen Cache-Ermittlungsdienst sowie ein Verwaltungsgateway in AKS zu erstellen. Der Erkennungsdienst würde es meinen Clientanwendungen ermöglichen, zugrunde liegende Pods innerhalb des von uns erstellten Cache-Clusters zu erkennen, zu verbinden und zu verwenden, und dann würde unser Remote Monitoring Gateway allen Systemadministratoren von außerhalb dieses Kubernetes-Clusters ermöglichen, diese Pods für den Cache-Cluster zu verwalten und zu überwachen .

ncache-Discovery-Service
NCache Erkennungsdienst

Lassen Sie uns also alle Schritte hier überprüfen. Um diese Dienste zu erstellen, habe ich diese „services.yaml“-Datei genau hier, die es mir ermöglichen würde, diese Dienste zu erstellen. Also erstelle ich zwei Dienste, ein Gateway sowie einen Cache-Erkennungsdienst. Das Gateway dient der Überwachung und Verwaltung, während der Erkennungsdienst für die Client- oder Serverkommunikation für das Routing und die Erkennung zu den zugrunde liegenden Pods innerhalb des Cache-Clusters dient.

services-yaml-Datei
Services.yaml-Datei

Der erste Service ist also unser „Gateway“-Service, genau hier. Die Art wird als „Dienst“ ausgewählt und ordnet den Port 8251 den unterstrichenen Pods zu, und dies ist für die Außenwelt, damit sie sich tatsächlich mit den Online-Pods für Management und Überwachung verbinden kann, und deshalb habe ich den Typ ausgewählt 'LoadBalancer' und die App-Auswahl ist 'ncache“ und „sessionAffinity“ ist ein sehr wichtiges Konzept. Wir müssen es als „ClientIP“ auswählen. Dies ist ein obligatorischer Schritt und ermöglicht es meinen Verbindungen zu den zugrunde liegenden Pods, klebrig zu sein. Wir verwenden ein webbasiertes Verwaltungstool zum Verwalten und Überwachen NCache Hülsen. Dadurch wird eine Sitzung erstellt. Wenn also die erste Anfrage an Pod eins geht, muss sie an diesem Pod hängen bleiben, damit diese Sitzung auch für nachfolgende Aufrufe intakt bleibt. Daher muss das Bit „sessionAffinity“ für diesen Gateway-Dienst unbedingt auf „ClientIP“ gesetzt sein. Das ist ein obligatorischer Schritt, und dann können Sie mit der Bereitstellung beginnen.

Der zweite Dienst ist ein Headless-Dienst zur automatischen Erkennung Ihrer Cache-Server-Knoten für die Client-zu-Server-Kommunikation. Als Namen habe ich 'cacheserver' gewählt. Nochmals, die Art davon ist „Service“, also ist es wieder ein Dienst, ein kopfloser, und was ihn wirklich kopflos macht, ist die „clusterIP“, die als „None“ ausgewählt wurde. Er hat also keine IP. Es verwaltet lediglich die interne Erkennung und Weiterleitung von Client-Anwendungen, mit denen Verbindungen hergestellt werden sollen NCache Schoten. Und wie es sich verbindet NCache Hülsen? Mit Hilfe des Selektors, der 'ncache' und dafür haben wir verwendet NCache Einsatz als auch, als wir eingesetzt NCache Server-Pods und hier haben wir im Wesentlichen eine Zuordnung für, wissen Sie, für diesen Erkennungsdienst haben wir eine Zuordnung von 8250 zu zugrunde liegenden Pods, eine 8251-Zuordnung und dann 9800 für die Client-Server-Kommunikation.

Headless-Service
Kopfloser Dienst

Also fahren wir fort und laden diese YAML-Datei erneut mit derselben 'kubectl erstellen' Befehl mit /f und wir werden diese beiden Dienste in unserem AKS-Cluster bereitstellen. Ich denke, es gibt einen Tippfehler, 'aksconfigs/services.yaml'. Wenn ich hier die Eingabetaste drücke, sollte ich zwei erstellte Dienste sehen können. Ein Gateway-Dienst und ein Cache-Server, der ein automatischer Erkennungsdienst für ist NCache Server-Pods.

kubectl-erstellen
Kubectl erstellen

Nun, wenn ich es dir schnell zeige 'kubectl holt Pods' Befehl, das würde mir als erstes zeigen NCache Server-Pods, da dies zwei Pods sind, die eine serverseitige Bereitstellung haben und erhalten werden. Sie können sehen, dass wir haben NCache Pods mit diesen IDs und wir haben diesen auch IPS zugewiesen. Sie laufen und der erste Pod läuft mit 10.244.1.4 IP und dann haben wir auch den zweiten Pod mit .0.9 IP.

kubectl-get-pods
Kubectl Holen Sie sich Pods

Das würde ich dir auch zeigen 'kubectl get services' Sie können einfach 'svc' sagen, und das würde alle Dienste, die wir erstellt haben, herunterfahren. Wir haben also „Cacheserver“, einen kopflosen Dienst, und dann haben wir auch das „Gateway“, das auch eine IP-Adresse hat, die es uns ermöglicht, unsere tatsächlich zu überwachen und zu verwalten NCache Pods mit Hilfe von Port-Mapping von der Außenwelt. Sie können also sehen, dass 8251 auch dafür offen ist und der Cache-Server keine IP anzeigt, das ist im Wesentlichen ein kopfloser Dienst für Client-Anwendungen, um sich mit dem Cache-Cluster zu verbinden.

kubectl-get-services
Kubectl Get Services

Mit dieser externen IP sollte ich mich also in der Verwaltungskonsole anmelden können. Also, ich starte unser webbasiertes Management-Tool mit diesem 8251, ich glaube, es gibt, lassen Sie mich es einfach ändern, 8250, ja, los geht's. Ich bin also in dieses Verwaltungstool eingeloggt und tatsächlich mit dem 10.244.0.9-Server verbunden, und dies stellt sicher, dass unsere Dienste tatsächlich voll funktionsfähig sind. Wir sind in der Lage, tatsächlich zu überwachen und zu verwalten NCache, da wir das Verwaltungstool von meinem Computer aus öffnen konnten. Der nächste Schritt besteht darin, tatsächlich mit der Erstellung von Cache-Clustern zu beginnen. Also werden wir das überprüfen. Zu diesem Zeitpunkt sind alle unsere Bereitstellungen abgeschlossen.

überwachen-und-verwalten-ncache from-management-console
Überwachen und verwalten NCache von der Verwaltungskonsole

Cache-Cluster erstellen

Wir können jetzt fortfahren und unsere erstellen NCache Cache-Cluster als nächstes. Ich werde jetzt einen Cache-Cluster erstellen, indem ich auf „Neu“ klicke, wodurch der Assistent „Cache durch Erstellung“ geöffnet wird.

Cache-Cluster erstellen
Cache-Cluster erstellen

Ich würde meinen Cache-Cluster einfach "democache" nennen. Belassen Sie hier alles auf Standard. Die erste IP wird automatisch vorgeschlagen und die zweite IP kann ich hier auswählen 1.4, bringe sie hierher zurück und dann sollte ich in der Lage sein, diese auch hinzuzufügen, und wenn ich auf „Weiter“ klicke, würde ich weitermachen und mir einige weitere Parameter geben. Behalte alles auf Standard und das war's. Mein Cache-Cluster ist jetzt erstellt. Wenn ich auf „Details anzeigen“ klicke, sehe ich, dass es vollständig erstellt wurde.

Start-Demo-Cache
Demo-Cache starten

Also werde ich fortfahren und diesen Cache-Cluster auf beiden Pods starten, und das würde meinen Cache-Cluster starten, und Sie können sehen, dass die Statusmeldung anzeigt, dass der Cluster voll funktionsfähig und auch gestartet ist.

Ich kann jetzt das Überwachungstool öffnen, das wiederum ein webbasiertes Überwachungstool ist NCache Dadurch kann ich meinen Dienst sowie Clients überwachen und es zeigt eine vollständige Verbindung zwischen diesen beiden Pods an, das ist der vollständig verbundene Status. Was die Cluster-Erstellung betrifft, bin ich also auf dem richtigen Weg. Eine Reihe von Parametern, keine Clientanwendung ist zu diesem Zeitpunkt verbunden, aber wir können das tatsächlich ausführen, sobald wir die Clientanwendung bereitgestellt und ausgeführt haben.

vollständig-verbundener-status-zwischen-2-pods
Vollständig verbundener Status zwischen 2 Pods

Bereitstellen und Ausführen von Client-Anwendungen

Der nächste Schritt besteht darin, Clientanwendungen bereitzustellen und auszuführen, um eine Verbindung mit unserem Cache-Cluster in AKS herzustellen. Okay, jetzt müssen wir auch den Client der Bereitstellung bereitstellen, und dafür habe ich einen anderen Container, den ich bereitstellen werde, und es ist ein einzelner Client-Container, der sowohl Java als auch enthält.NET Core Darin gebündelte Client-Anwendungen.

Ich werde also fortfahren und die Datei „client.yaml“ laden, und sobald diese Bereitstellung erstellt ist, hätte ich meine beiden Anwendungen, die bereit sind, gegen meinen Cache-Cluster verwendet zu werden. Um zu überprüfen, ob diese richtig eingesetzt werden, würde ich zuerst einmal laufen 'kubectl holt Pods' Befehl und das würde mir zeigen, dass der Container erstellt wird, richtig. Der aktuelle Status ist also und ich kann einen zusätzlichen Container sehen, das ist also ein guter Anfang.

Meine clientseitige Bereitstellung ist also im Gange, und wenn Sie sich erinnern, haben wir diesen Befehl auch zuvor ausgeführt 'kubectl holt Pods' vorher hatten wir nur NCache Bereitstellungen zwei Pods darin, aber jetzt haben wir einen zusätzlichen Pod unter Client-Bereitstellung und er hat seinen eigenen Satz von Parametern und ihm würden einige IPS zugewiesen. Wenn ich das also noch einmal ausführe, läuft es voll funktionsfähig und es hat eine eigene IP mit dieser spezifischen ID, genau hier.

Client-Anwendungen bereitstellen und ausführen
Bereitstellen und Ausführen von Client-Anwendungen

Um nun die Client-Anwendungen auszuführen, um eine Verbindung mit diesem Cache-Cluster herzustellen, würde ich ausführen 'kubectl exec' Geben Sie die ID dieses Pods an und dann würde ich genau hier in das Verzeichnis gehen, app/tester und ich werde zuerst die ausführen .NET Core Client und ich würden dieses run.sh-Skript ausführen. Das würde mir erlauben, a zu drehen .NET Core Anwendung, die sich mit meinem Cache verbinden würde. Ich brauche zusätzlich den Namen des Caches, 'democache' und dann brauche ich auch den Cache Discovery Service, der 'cacheserver' war. Das würde es mir ermöglichen, alle Pods darin zu entdecken und mich mit ihnen zu verbinden NCache Bereitstellung und das ist eine Funktion innerhalb NCache Client, der sich automatisch mit allen Pods verbindet, wenn Sie nur diesen Erkennungsdienst angeben. Also, mein 'Democache' wurde initialisiert.

Demo-Cache-ist-initialisiert
Demo-Cache wird initialisiert

Wenn ich zum Überwachungstool zurückkehre, sollte ich einige Parameter und einige Leistungsmatrizen sehen. Ein Client ist vollständig mit .9 und auch mit .4 verbunden und wir haben Anfragen/Sekunde. Die durchschnittliche Mikrosekunde pro Cache-Vorgang, Hinzufügungen, Abrufen und Aktualisierungen auf allen Zählern zeigt Aktivität und wir haben jetzt einen Client-Prozess, der 1.5 ist und das ist die IP unseres Client-Pods, der mit beiden Servern verbunden ist. 9 sowie zu .4. Das zeigt also, dass unser Client Application Container und .NET Core Die Anwendung ist vollständig in der Lage, eine Verbindung zu unserem Cache-Cluster herzustellen.

Client-Prozesse-vollständig-verbunden
Client-Prozesse: Vollständig verbunden

Lassen Sie uns die Java-Anwendung ausführen, dafür muss ich nur „dotnet“ in „java“ ändern und es ausführen. Das würde also einfach ein anderes Skript darin ausführen und das würde 'NCacheTester.jar'-Datei, das ist also eine Java-Datei, die eine Verbindung herstellt und mit der Durchführung von Erstellungs-/Lese- und Aktualisierungs-/Löschvorgängen beginnt. Daher werden derzeit CRUD-Operationen durchgeführt.

Laufende Java-Anwendung
Laufende Java-Anwendung

Wenn ich also noch einmal auf die Überwachung zurückkomme, habe ich jetzt zwei Client-Prozesse. Wir sehen vier, weil es zwei Server gibt. Jeder Client-Prozess stellt also Verbindungen zu allen Servern her, aber Sie haben zwei Clients, die gegen unseren Cache-Cluster laufen, und es gibt zwei Pods im Cache-Cluster.

Zwei-Pods-in-Cache-Cluster
2 Pods im Cache-Cluster

Wir haben ein fortgeschritteneres „Berichts-Dashboard“, wie z. B. eine serverseitige Berichtsansicht, die mir serverseitige Zähler und Replikate von beiden Pods anzeigt, und dann haben wir auch den Clientbericht, der auch die clientseitigen Zähler anzeigt. Innerhalb von AKS sind wir also in der Lage, unsere Client- und Serverbereitstellungen ohne Probleme vollständig zu verwalten und zu überwachen.

Berichts-Dashboard
Berichts-Dashboard

Skalieren NCache Cluster

Das nächste, was ich demonstrieren werde, ist die Skalierung Ihrer NCache Cache-Cluster in der AKS-Plattform. Dies wird Ihnen helfen, Ihre Kapazität für die Bearbeitung von Anfragen zu erhöhen NCache und das auch einmal. Sehen wir uns hier alle Schritte an.

Um jetzt von 2 Knoten auf 3 Knoten zu skalieren, und das auch zur Laufzeit, ohne den Cache-Cluster in AKS oder die Art von Anwendungen zu stoppen, können wir einfach fortfahren und dies demonstrieren. Also, zuerst möchte ich Ihnen den aktuellen Einsatz zeigen. Lassen Sie uns die aktuellen Pods sehen, die wir haben, und wenn Sie bemerken, dass wir zwei Pods haben NCache Bereitstellung .4 und .9 IP-Adressen und dann müsste ich diesen Befehl hier ausführen, wo ich die Anzahl der Replikate auf 3 setze und dies für „Bereitstellung/“ mache.ncache' und das sollte automatisch einen neuen Pod drehen und hinzufügen ncache/Einsatz. Ich denke, es gibt einen Tippfehler, also lass mich das einfach ausführen, indem ich die Bereitstellung behebe, und das hat funktioniert. Damit, NCache Bereitstellung hat sich skaliert.

Jetzt haben wir 3 Pods im Inneren NCache Einsatz. Wenn ich also denselben Befehl erneut ausführe, sollte ich jetzt einen zusätzlichen Pod darin sehen NCache Einsatz. Bisher hatten wir also zwei Bereitstellungen für NCache .4 und .9 und jetzt haben wir einen dritten Pod hinzugefügt. Neben .4, .9 haben wir auch .6. Das ist also unser dritter hinzugefügter Pod, der jetzt voll funktionsfähig ist.

skalieren-ncache-Cluster
Skalieren NCache Cluster

Mir ist aufgefallen, dass wir die Anwendung oder den Cache selbst nicht gestoppt haben. Jetzt muss ich nur noch diesen Pod als Pod hinzufügen NCache Cache-Cluster. Daher wurde es in AKS bereitgestellt.

Hinzufügen-Pod-zu-ncache-Cache-Cluster
Pod hinzufügen zu NCache Cache-Cluster

Ich würde es hier hinzufügen und dann würde ich fortfahren und „Starten“, um dem Cache-Cluster beizutreten, und dies wird zur Laufzeit geschehen. Es würde also ohne Verzögerungen dem laufenden Cache-Cluster beitreten und ist auch voll funktionsfähig.

Running-Cache-Cluster
Cache-Cluster ausführen

Wenn ich schnell zum Überwachungstool zurückkehre, sehen Sie jetzt einen dritten Knoten, der zur Laufzeit hinzugefügt wird. .6 ist also jetzt vollständig verbunden. Es hat alle Daten. Sie können die Anzahl sehen und dann werden alle Anfragen vollständig auf 3 Knoten anstatt auf 2 verteilt.

Third-Node-hinzugefügt
3. Knoten hinzugefügt

Sie können auch den Clusterstatus sehen, .6 ist vollständig mit 2 Clients verbunden, die damit verbunden sind, und wir haben Zähler, die jetzt für 3 Server statt 2 anzeigen, und Clientprozesse sind jetzt wieder mit allen 3 Servern mit .6, .4 verbunden , auch auf 9.

vollständig verbundene 3rd-node-stats
Vollständig verbundene Statistik des 3. Knotens

Zusammenfassung

Damit ist der Autoscaling-Teil für AKS abgeschlossen, bei dem Sie Pods zur Laufzeit hinzufügen können und den Cache oder einen der damit verbundenen Clients nicht stoppen müssen. Alles wird zur Laufzeit erledigt.

Damit sind wir am Ende unseres Videos angelangt. Wir haben erfolgreich gezeigt, wie Sie bereitstellen können NCache in der AKS-Plattform und wie einfach sie zu verwenden ist NCache aus Ihrem Java und .NET Core Anwendungen. Wir haben auch überprüft, wie effektiv Sie Ihre verwalten und überwachen können NCache Bereitstellungen in AKS. Ich hoffe, das war hilfreich.

Bitte teilen Sie uns Ihr Feedback oder Ihre Fragen unter Alachisoft Support support@alachisoft.com. Vielen Dank!

© Copyright Alachisoft 2002 - Alle Rechte vorbehalten NCache ist eine eingetragene Marke der Diyatech Corp.