GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So stellen Sie RabbitMQ auf Kubernetes bereit

Einführung

RabbitMQ ist ein etablierter Allzweck-Message-Broker. Ein Broker erleichtert den Austausch von Nachrichten zwischen einer Reihe von verteilten Microservices und ermöglicht ihnen, effizient und zuverlässig zu kommunizieren.

Kubernetes ist mit seinem API-zentrierten Ansatz ein idealer Operator, um RabbitMQ-Instanzen in einem Cluster bereitzustellen. Die Skalierungsfunktionen von Kubernetes und die automatisierte Bereitstellung von Containern verbessern die Zuverlässigkeit von RabbitMQ in einer erweiterten Clusterumgebung.

Dieses Tutorial zeigt Ihnen, wie Sie eine RabbitMQ-Instanz auf Kubernetes installieren.

Voraussetzungen

  • Zugriff auf ein Terminalfenster/Befehlszeile
  • Ein Kubernetes-Cluster
  • Die Kubernetes kubectl CLI-Tool

RabbitMQ auf Kubernetes bereitstellen

Die Installation fortschrittlicher Softwarelösungen in einem Kubernetes-Cluster erfordert oft das Erstellen und Bearbeiten mehrerer komplexer Konfigurationsdateien.

Steuer , der Kubernetes-Anwendungspaketmanager, kann den Installationsprozess rationalisieren und Ressourcen sehr schnell im gesamten Cluster bereitstellen. Um RabbitMQ erfolgreich bereitzustellen, müssen wir den Helm-Paketmanager installieren.

Installieren Sie den Helm-Paket-Manager

Verwenden Sie den folgenden Befehl, um die neueste Version von Helm auf Ihrem lokalen Kubernetes-Cluster zu installieren:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

Sobald der Installationsvorgang abgeschlossen ist, starten Sie den Helm-Paketmanager, indem Sie den folgenden Befehl eingeben:

helm init

Sie können jetzt Helm verwenden, um Ressourcen mit ein paar kurzen Befehlen in einem Cluster bereitzustellen.

Erstellen Sie einen Namespace für die RabbitMQ-Bereitstellung

Alle Ressourcen in Kubernetes werden in einem Namespace gestartet. Wenn kein Namespace angegeben ist, verwendet das System den Standardnamensraum. Um den Bereitstellungsprozess besser steuern zu können, verwenden Sie den folgenden Befehl, um einen eindeutigen Namespace zu erstellen:

kubectl create namespace rabbit

Sie können jeden DNS-kompatiblen Namen verwenden. Der Namespace, den wir erstellt haben, heißt:rabbit.

Das System bestätigt, dass der Namensraum erfolgreich erstellt wurde.

Installieren Sie RabbitMQ auf Kubernetes

Wenn Helm erfolgreich installiert ist und ein festgelegter Namespace vorhanden ist, können Sie den RabbitMQ-Bereitstellungsprozess starten. Geben Sie den folgenden Befehl ein, um ein Standard-stable/rabbitmq anzuwenden Diagramm aus einem Git-Repository:

helm install mu-rabbit stable/rabbitmq --namespace rabbit

Der Befehl stellt RabbitMQ auf dem Kubernetes-Cluster in der Standardkonfiguration bereit. Das Deployment wird im Rabbit ausgeführt zuvor erstellter Namespace.

Das Terminal stellt die Informationen bereit, die Sie für den Zugriff auf die RabbitMQ-Verwaltungsschnittstelle von Ihren Browsern aus benötigen, z. B. Anmeldeinformationen, Portnummer und URL.

Überprüfen Sie den RabbitMQ-Bereitstellungsstatus

Die Bereitstellung der Container kann einige Augenblicke dauern. Der vollständige Status der Bereitstellungssequenz kann bestätigen, ob eine Bereitstellung erfolgreich war. Um die Details der Bereitstellung zu überprüfen, geben Sie den folgenden Befehl ein:

watch kubectl get deployments,pods,services --namespace rabbit

Eine Shell innerhalb des Terminals liefert die Details für den Hasen-Namensraum.

Sobald Sie bereit sind, die Monitoring-Shell zu verlassen, drücken Sie Strg+C .

RabbitMQ-Server konfigurieren

Einstellungen für den RabbitMQ-Server und seine Plugins werden in den RabbitMQ-Konfigurationsdateien bearbeitet.

Sie können Ihren bevorzugten Texteditor verwenden, um auf die rabbitmq.conf zuzugreifen und sie zu konfigurieren Datei. Die Syntax der Konfigurationsdatei verwendet sysctl Format, und es gibt mehrere Grundprinzipien, die eingehalten werden müssen:

  • Das System führt keine Zeilen aus, die mit einem # beginnen Zeichen, da es sie als Kommentar betrachtet
  • Sie können nur eine Einstellung pro Zeile definieren
  • Die Zeilen verwenden ein einfaches Key =Value Struktur

Die rabbitmq.conf Mit dieser Datei können Sie die meisten erforderlichen Konfigurationselemente wie Ports, Speicherschwellenwerte, Speicherplatz oder Berechtigungen zum Herstellen einer Verbindung zum Broker definieren.

Das Source-Repository des RabbitMQ-Servers bietet ein umfassendes Beispiel für eine rabbitmq.conf-Datei mit detaillierten Kommentaren. Es ist wichtig zu beachten, dass diese Beispieldatei eine allgemeine Anleitung darstellt und angepasst werden sollte, um die spezifischen Anforderungen Ihres Systems widerzuspiegeln.

Einrichten des RabbitMQ-Verwaltungs-Plugins zum Aktivieren der GUI

Das RabbitMQ-Management-Plugin ist bereits in der Standarddistribution verfügbar. Verwenden Sie die rabbitmq-plugins Befehl zum Aktivieren des Dienstes:

rabbitmq-plugins enable rabbitmq_management

Greifen Sie auf die grafische Benutzeroberfläche von RabbitMQ zu, indem Sie die IP- und Portnummer für den RabbitMQ-Server verwenden. Geben Sie das folgende Webadressenformat in Ihren Browser ein:

http://rabbitmq-ip-or-server-name:15672/

Die IP- und Portnummer wurden während des Installationsvorgangs bereitgestellt.

Der Dienst fragt nach Ihren Anmeldeinformationen. Um Zugriff auf die Benutzeroberfläche zu erhalten, müssen Sie Ihren Benutzernamen und Ihr Passwort eingeben. Bei neuen RabbitMQ-Installationen sind sowohl der Standardbenutzername als auch das Passwort als „Gast“ vordefiniert.

Sie haben jetzt Zugriff auf eine benutzerfreundliche Umgebung, mit der Sie virtuelle Hosts, Warteschlangen, Berechtigungen und Austauschvorgänge verwalten können.

Wie funktioniert RabbitMQ auf Kubernetes?

Der eigentliche Zweck von Kubernetes besteht darin, Dienste zu orchestrieren und Jobs in einem hochgradig verteilten Cluster zu automatisieren. Ein Messaging-Broker wie RabbitMQ kann die Qualität lang andauernder Aufgaben verbessern und wichtige Hintergrundprozesse stabilisieren.

RabbitMQ verwendet das Advanced Message Queuing Protocol (AMQP), um die Nachrichtenübermittlung zwischen Produzenten, Brokern und Verbrauchern zu standardisieren.

  • Ein Produzent veröffentlicht eine Nachricht an Exchange .
  • Der Exchange formatiert die Nachricht und leitet sie an eine vordefinierte und ausgewählte Warteschlange weiter .
  • Ein Verbraucher ruft dann die formatierte Nachricht ab und verarbeitet sie.

Die systematische Verteilung von Nachrichten verbessert die Kommunikation zwischen lose gekoppelten Anwendungen und Diensten.


Cent OS
  1. So stellen Sie Elasticsearch auf Kubernetes bereit

  2. So stellen Sie eine WordPress-Instanz auf Kubernetes bereit

  3. So stellen Sie Redis-Cluster auf Kubernetes bereit

  4. So starten Sie Kubernetes-Pods neu

  5. So stellen Sie Ihren ersten Pod in einem Kubernetes-Cluster bereit

So stellen Sie Mattermost auf Ubuntu 20.04 bereit

So stellen Sie Single Node Kubernetes mit Microk8s auf Ubuntu 20.04 bereit

So installieren Sie RabbitMQ in Ubuntu 20.04

So installieren Sie RabbitMQ in CentOS 7

So installieren Sie Kubernetes auf CentOS 8

So installieren Sie RabbitMQ unter CentOS 8