Die Entwicklung, Bereitstellung und Verwaltung von Anwendungen ist mit der Einführung der Containerisierung einfacher geworden, weshalb die Cloud-Bereitstellung immer beliebter wird. Azure ist das Beste in der Branche und bietet die schnellste und am einfachsten zu verwendende Kubernetes-Bereitstellung in Form von Azure Kubernetes Service (AKS).
Um die Leistung der Anwendung in der Azure Kubernetes-Umgebung zu verbessern, NCache sollte innerhalb des AKS-Clusters bereitgestellt und verwendet werden. NCache ist eine verteilte In-Memory-Caching-Lösung, die die Leistung Ihrer Anwendung um ein Vielfaches steigert, je näher Ihr Cache an der Anwendung liegt. Benutzen NCacheDa es von Natur aus verteilt ist, können Sie so viele Server hinzufügen, wie Sie benötigen, um die Latenz zu verbessern, was zu einer extremen Skalierbarkeit in AKS führt.
NCache Details Containerbereitstellungen NCache AKS-Docs
NCache Bereitstellungsarchitektur im Azure Kubernetes Service
Das Gesamtlayout von NCacheDie Bereitstellung von in Azure Kubernetes Service sieht folgendermaßen aus: Sie haben Anwendungen, die mit einem Headless verbunden sind Cache-Erkennungsdienst. Dieser Dienst ist dafür verantwortlich, Clients Zugriff auf die Cluster-Pods zu gewähren, auf denen der Cache-Dienst ausgeführt wird. Es gibt auch ein Gateway-Dienst Dies stellt einen Lastenausgleich bereit, um den Datenverkehr basierend auf der bereitgestellten Client-IP auf bestimmte Pods zu reduzieren.
Ein Pod ist eine Grundeinheit für den Aufbau von Diensten, die sicherstellt, dass sich alle Container auf demselben Host befinden. Ein Pod enthält einen oder mehrere Container, die Ressourcen wie RAM, CPU und Netzwerk gemeinsam nutzen. Es ist jedoch besser, einen Container pro Pod zu haben.
Der Anforderungsfluss und die Struktur eines AKS-Clusters mit NCache Die darin bereitgestellten Informationen sind in der folgenden Abbildung dargestellt.
Um mit der Nutzung vieler sofort einsatzbereiter Funktionen zu beginnen, die von bereitgestellt werden NCache In Ihrem Azure Kubernetes Service-Cluster müssen Sie eine Bereitstellung durchführen NCache und die erforderlichen Dienste in einem AKS-Setup. Die unten aufgeführten Schritte erleichtern Ihnen den Einstieg in die Bereitstellung und Verwendung NCache im Azure Kubernetes-Cluster.
NCache Details Containerbereitstellungen NCache AKS-Docs
Schritt 1: Erstellen NCache Einsatz
Wenn wir in Azure Kubernetes Service über die Bereitstellung einer Anwendung oder eines Dienstes sprechen, müssen wir eine YAML-Datei erstellen. Diese YAML-Datei enthält alle Informationen, die zum Erstellen eines Pods in Ihrem AKS-Cluster erforderlich sind. Lassen Sie mich Ihnen zeigen, wie Ihre YAML-Datei aussehen sollte, um erfolgreich einen Pod zu erstellen, der Folgendes enthält NCache Bedienung.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
kind: Deployment apiVersion: apps/v1beta1 # underlying Kubernetes version metadata: name: ncache labels: app: ncache spec: replicas: 2 template: metadata: labels: app: ncache spec: nodeSelector: "beta.kubernetes.io/os": linux containers: - name: ncache image: docker.io/alachisoft/ncache:enterprise-server-linux-5.0.2 ports: - name: cache-mgmt-tcp # for tcp communication containerPort: 8250 - name: cache-mgmt-http # for http communication containerPort: 8251 ... # remaining necessary ports |
Damit der Cluster versteht, dass es sich bei dem, was Sie erstellen, um einen Bereitstellungs-Pod handelt, müssen Sie „Art“ als angeben Einsatz. Worauf Sie hier achten müssen, ist die zugrunde liegende Version von Kubernetes unter dem Tag „apiVersion“. Da Kubernetes diese Versionsnummer ständig ändert, müssen Sie bei der Bereitstellung vorsichtig sein NCache dass diese Versionsnummer auf die entsprechende Versionsnummer des zugrunde liegenden Kubernetes gesetzt ist.
Die Anzahl der „Replikate“ gibt hier die Anzahl der Pods an, die diese Bereitstellung haben wird, in diesem Fall 2. Sie können diesen Wert entsprechend Ihren Anforderungen ändern. Unter dem Tag „Container“ geben Sie den Pfad zum an NCache Enterprise Server-Docker-Image. Diesen Weg finden Sie auf Docker-Hub.
NCache Details Containerbereitstellungen NCache AKS-Docs
Einige der anderen Anforderungen, die Sie für die Bereitstellung kennen müssen NCache Im Azure Kubernetes-Cluster sind Portinformationen enthalten. Damit Ihre Kunden erfolgreich interagieren können NCache Servern müssen Sie die Container-Portnummer in Ihrer YAML-Datei angeben.
Im Wesentlichen handelt es sich hierbei um die Grundvoraussetzungen, die Sie für eine erfolgreiche Bereitstellung verstehen müssen NCache in einem AKS-Cluster. Sobald diese YAML-Datei erstellt wurde, verwenden Sie diese Datei zum Erstellen von Pods in AKS.
Für eine erfolgreiche Bereitstellung müssen Sie lediglich diese YAML-Datei erstellen NCache in einem AKS-Cluster. Führen Sie den folgenden Befehl in Azure Cloud Shell aus und voilà! dein NCache Die Bereitstellung ist jetzt ein vollwertiger laufender Pod im Azure Kubernetes Service!
1 |
kubectl create -f [dir]/ncache.yaml |
Schritt 2: Erstellen NCache Erkennungsdienst
Wenn man außerhalb des Kubernetes-Clusters über Cache-Clients spricht, die sich mit Cache-Servern verbinden, ist es durchaus verständlich, dass sie IP-Adressen der Cache-Server benötigen. Diese IP-Adressen sind statisch und jedem Client bekannt, der Teil dieses Systems ist. Wenn Sie jedoch dieselben Elemente nehmen und sie in die Kubernetes-Umgebung einfügen, ändert sich die Implementierung. Innerhalb eines Kubernetes-Clusters wird jedem Bereitstellungs-Pod zur Laufzeit eine dynamische IP-Adresse zugewiesen, die den Client-Anwendungen unbekannt ist. Diese Implementierung behindert die Identifizierung Ihrer Clientanwendungen NCache Servern, um Leistung und Skalierbarkeit zu erreichen.
Um diesem Problem entgegenzuwirken, können Sie mit Kubernetes einen Dienst erstellen, der fest ist, anstatt dynamisch zu sein. Um dies zu nutzen, müssen Sie einen Headless-Erkennungsdienst erstellen, der es Ihrer Client-Anwendung ermöglicht, mühelos auf den Pod zuzugreifen, auf dem sie sich befindet NCache Dienst läuft. Die in diesem Dienst bereitgestellten Informationen als YAML-Datei ermöglichen allen Clientanwendungen die Verbindung mit diesem Dienst. Dieser Dienst ist dann dafür verantwortlich, jeder Client-Verbindungsanfrage einen Server zuzuweisen; Und das alles, während Sie innerhalb des AKS-Clusters bleiben.
Beginnen wir also ohne weitere Umschweife mit der Erstellung der YAML-Datei, die für die Bereitstellung bereit ist.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
kind: Service apiVersion: v1 # underlying Kubernetes version metadata: name: cacheserver labels: app: cacheserver spec: clusterIP: None selector: app: ncache # same label as provided in the ncache YAML file ports: - name: management-tcp port: 8250 targetPort: 8250 - name: client-port port: 9800 targetPort: 9800 |
Ihre „Art“ muss ein sein wobei „apiVerison“ auf die zugrunde liegende Version von Kubernetes eingestellt ist. Um dies zu einem Headless-Dienst zu machen, müssen Sie das Tag „clientIP“ auf setzen keine Dies gibt an, dass Ihrem Erkennungsdienst keine öffentliche IP zugewiesen wird. Der Rest sind die Ports, die dafür benötigt werden NCache Kunden, um mit dem zu kommunizieren NCache Servers
Von hier aus gehen Sie zu Azure Cloud Shell und führen den bereitgestellten Befehl aus, um einen voll funktionsfähigen Headless Discovery-Dienst in Ihrem Kubernetes-Cluster zu haben.
1 |
kubectl create -f [dir]/discoveryservice.yaml |
NCache Details Containerbereitstellungen NCache AKS-Docs
Schritt 3: Erstellen NCache Gateway-Dienst
Innerhalb eines AKS-Clusters ist alles, was passiert, auf den Cluster beschränkt. Und damit Sie es nutzen können NCache Von Ihrem lokalen Computer aus muss es einen Weg geben NCache Verwaltungsvorgänge können innerhalb dieses Clusters durchgeführt werden. Genau aus diesem Grund erstellen wir einen Gateway-Service. ein Dienst, der für den Zugriff, die Verwaltung und die Überwachung zuständig ist NCache von außerhalb des Azure Kubernetes Service.
Auch hier gilt: Um diese Funktionalität im Cluster nutzen zu können, benötigen Sie einen laufenden Pod. Um einen laufenden Pod zu erstellen, müssen Sie eine YAML-Datei erstellen, die alle erforderlichen Tags und Werte enthält. Beginnen wir also damit, eine YAML-Datei zum Erstellen eines Gateway-Dienstes zu schreiben NCache Management.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
kind: Service apiVersion: v1 # underlying Kubernetes version metadata: name: gateway spec: selector: app: ncache # same label as provided in the ncache YAML file type: LoadBalancer sessionAffinity: ClientIP ports: - name: management-http port: 8251 targetPort: 8251 |
Damit Ihr Azure Kubernetes Service-Cluster weiß, dass dieser Pod als Dienst für einen bestimmten Zweck fungiert, anstatt etwas bereitzustellen, müssen Sie die „Art“ als angeben Bedienung. In dieser Datei sollten auch die Ports aufgeführt sein, die ein Gateway-Dienst benötigt, um fehlerfrei zu funktionieren. Markieren Sie „Typ“ als Lastenausgleicher gibt an, dass es sich bei diesem Gateway-Dienst um einen externen Lastenausgleich handelt, der die Anforderungen der Clients auf mehreren Servern verteilt. Sie müssen sicherstellen, dass „sessionAffinity“ auf eingestellt ist ClientIP um sicherzustellen, dass jedes Mal ein Client auf denselben Server umgeleitet wird.
Dies sind so ziemlich alle Informationen, die Sie zum Erstellen eines Gateway-Dienstes für Ihr Unternehmen benötigen NCache Einsatz. Was Sie jetzt tun müssen, ist Folgendes auszuführen erstellen Befehl aus der Azure Shell und AKS erstellt und startet diesen Dienst für Sie.
1 |
kubectl create -f [dir]/gatewayservice.yaml |
NCache Details Containerbereitstellungen NCache AKS-Docs
Schritt 4: Erstellen Sie einen Cache-Cluster
Was Sie bis jetzt haben, funktioniert NCache Server, einen Gateway-Dienst und einen Erkennungsdienst für NCache Kunden. Was Sie jetzt brauchen, um in vollen Zügen genießen zu können NCache in Ihrem Azure Kubernetes Service besteht darin, einen Cache-Cluster innerhalb Ihres Kubernetes-Clusters zu erstellen; Das ist einfach.
Sie können diesen Schritt mit ausführen NCache Web Manager, der mit integriert ist NCache Einsatz. Die Schritte, die Sie zum erfolgreichen Erstellen eines Clusters und zum Hinzufügen von Serverknoten benötigen, finden Sie in NCache Dokumente zu Clustered-Cache erstellen. Die einzige Besonderheit in diesem Schritt sind die IP-Adressen der Server, die Sie benötigen. Dabei muss es sich um dieselben IP-Adressen handeln, die der Kubernetes-Cluster Ihren Cache-Pods zugewiesen hat. Sie können diese IPs erhalten, indem Sie Folgendes ausführen Schoten bekommen Befehl in Azure Cloud Shell.
Schritt 5: Anwendungsbereitstellungen erstellen
Um Clientanwendungen (sei es .NET oder Java) in Ihrem Cluster bereitzustellen und auszuführen, müssen Sie eine YAML-Datei erstellen. Ihre YAML-Datei für die Clientbereitstellung sollte etwa so aussehen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
kind: Deployment apiVersion: apps/v1beta1 # Underlying Kubernetes version metadata: name: client spec: replicas: 1 template: metadata: labels: app: client spec: imagePullSecrets: - name: client-private nodeSelector: "beta.kubernetes.io/os": linux containers: - name: client image: # Your docker client image here ports: - name: port1 containerPort: 8250 - name: port2 containerPort: 9800 |
Der in der Datei erwähnte „nodeSelector“ könnte sein Fenster da Kubernetes beide Betriebssysteme unterstützt. Darüber hinaus haben Sie die Möglichkeit, je nach Ihren Anforderungen mehrere Clientanwendungen innerhalb desselben Clusters bereitzustellen. Für jede Clientanwendung müssen Sie eine ähnliche YAML-Datei erstellen, damit jede Anwendung auf einem separaten Pod ausgeführt wird.
Führen Sie den folgenden Befehl in der von Microsoft Azure bereitgestellten Cloud Shell aus, um Ihren Clientanwendungs-Pod erfolgreich zu erstellen und zu starten.
1 |
kubectl create -f [dir]/client.yaml |
Die bereitgestellten NCache Der Client ist äußerst intelligent, wenn es darum geht, Verbindungen innerhalb des Clusters herzustellen. Dieser Client benötigt lediglich den Namen des Dienstes, mit dem er kommunizieren muss, damit er automatisch alle zugrunde liegenden Informationen erkennt NCache Clusterknoten für einen bestimmten Cache, der in Ihrem Azure Kubernetes-Cluster vorhanden ist.
Der machbarste Vorteil der Verwendung NCache in AKS besteht darin, dass Sie für die Clientverbindung keine IP-Adressen der Cache-Pods angeben müssen. Der zuvor erstellte Headless-Erkennungsdienst ist dafür verantwortlich, Ihrer Clientanwendung zur Laufzeit IP-Adressen der Cache-Pods bereitzustellen.
NCache Details Containerbereitstellungen NCache AKS-Docs
Schritt 6: Überwachen NCache Cluster
Nachdem Sie nun Ihre Dienste, Server und Anwendungen eingerichtet und ausgeführt haben, benötigen Sie eine Möglichkeit, die Cache-Aktivität innerhalb des Clusters zu überwachen. Aus genau diesem Grund, NCache wird mit verschiedenen Tools geliefert, die Ihnen bei der Überwachung Ihres Cache-Clusters helfen. Mithilfe dieser Tools erhalten Sie einen besseren Überblick über den Zustand, die Leistung, Netzwerkstörungen und die Konnektivität Ihres Clusters.
NCache stellt ein Webmonitor das die Echtzeitleistung Ihres Caches grafisch darstellt.
Ebenso haben Sie eine Cache-Statistiken Option, die eine detailliertere Analyse Ihrer Cache-Aktivität bietet.
Schritt 7: Skalierung NCache Cluster
NCacheDa es sich um einen äußerst skalierbaren verteilten Cache handelt, können Sie zur Laufzeit Serverknoten hinzufügen und entfernen, um die Gesamtleistung von zu verbessern NCache. Wenn Sie beim Überwachen Ihres Clusters das Gefühl haben, dass die Anfragen pro Sekunde weitaus größer sind als die Anzahl der Server, die zur Bearbeitung dieser Anfragen zur Verfügung stehen, können Sie Ihrer Bereitstellung einen oder mehrere Cache-Knoten hinzufügen.
Es gibt mehrere Möglichkeiten, wie Sie das skalieren können NCache Cluster in Ihrer AKS-Bereitstellung. Du kannst den ... benutzen NCache Webmanager bzw NCache PowerShell-Tool oder sogar das NCache YAML-Datei. Um mehr darüber zu erfahren, wie diese Methoden zum Hinzufügen und Entfernen von Knoten zum Cluster verwendet werden, besuchen Sie unsere Dokumentation unter Hinzufügen von Cache-Servern in einem AKS-Cluster machen Entfernen von Cache-Servern aus einem AKS-Cluster.
NCache Details Containerbereitstellungen NCache AKS-Docs
Was haben wir gelernt?
Aus dem, was wir gesehen haben, können wir ableiten, dass Azure Kubernetes Service ein vollständig integrierter und verwalteter Container-Orchestrator ist, der Upgrades und Patches automatisiert. Um Skalierbarkeit und hohe Verfügbarkeit in einem AKS-Cluster zu erreichen, in dem sich Ihre Anwendungen und Ressourcen befinden, müssen Sie eine Bereitstellung durchführen NCache darin. NCache ist ein skalierbarer verteilter In-Memory-Cache, der hohe Leistung und Skalierbarkeit in Ihrem AKS-Cluster bietet.
Um eine detaillierte Schritt-für-Schritt-Anleitung zur Bereitstellung zu erhalten NCache In AKS finden Sie weitere Informationen in unserer Dokumentation zu Bereitstellen NCache im Azure Kubernetes-Dienst.
Können Sie bitte klare Formulierungen anstelle größerer und längerer, ausgefallener Sätze verwenden? Es ist wirklich leidvoll, die Artikel und Dokumentationen auf Ihrer Website zu lesen …