GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come distribuire RabbitMQ su Kubernetes

Introduzione

RabbitMQ è un affermato broker di messaggi generico. Un broker facilita lo scambio di messaggi tra un insieme di microservizi distribuiti e consente loro di comunicare in modo efficiente e affidabile.

Kubernetes, con il suo approccio incentrato sulle API, è un operatore ideale per distribuire istanze RabbitMQ in un cluster. Le capacità di scalabilità e la distribuzione automatizzata dei container di Kubernetes migliorano l'affidabilità di RabbitMQ in un ambiente cluster esteso.

Questo tutorial mostra come installare un'istanza RabbitMQ su Kubernetes.

Prerequisiti

  • Accesso a una finestra del terminale/riga di comando
  • Un cluster Kubernetes
  • I Kubernetes kubectl Strumento CLI

Distribuisci RabbitMQ su Kubernetes

L'installazione di soluzioni software avanzate su un cluster Kubernetes spesso implica la creazione e la modifica di diversi file di configurazione complessi.

Timone , il gestore di pacchetti dell'applicazione Kubernetes, può semplificare il processo di installazione e distribuire le risorse in tutto il cluster molto rapidamente. Per distribuire correttamente RabbitMQ, dovremo installare il gestore di pacchetti Helm.

Installa Gestione pacchetti Helm

Utilizza il comando seguente per installare l'ultima versione di Helm sul tuo cluster Kubernetes locale:

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

Una volta completato il processo di installazione, avvia il gestore pacchetti Helm digitando il seguente comando:

helm init

Ora puoi utilizzare Helm per distribuire le risorse in un cluster con pochi brevi comandi.

Crea uno spazio dei nomi per la distribuzione RabbitMQ

Tutte le risorse in Kubernetes vengono avviate in uno spazio dei nomi. A meno che non ne venga specificato uno, il sistema utilizza lo spazio dei nomi predefinito. Per avere un migliore controllo sul processo di distribuzione, utilizzare il comando seguente per creare uno spazio dei nomi distinto:

kubectl create namespace rabbit

È possibile utilizzare qualsiasi nome compatibile con DNS. Lo spazio dei nomi che abbiamo creato si chiama:coniglio.

Il sistema conferma che lo spazio dei nomi è stato creato correttamente.

Installa RabbitMQ su Kubernetes

Con Helm installato correttamente e uno spazio dei nomi designato, sei pronto per iniziare il processo di distribuzione di RabbitMQ. Immettere il comando seguente per applicare un stable/rabbitmq predefinito grafico da un repository git:

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

Il comando distribuisce RabbitMQ nel cluster Kubernetes nella configurazione predefinita. La distribuzione viene eseguita nel coniglio spazio dei nomi creato in precedenza.

Il terminale fornisce le informazioni necessarie per accedere all'interfaccia di gestione di RabbitMQ dai browser come credenziali, numero di porta e URL.

Controlla lo stato di fornitura RabbitMQ

La distribuzione dei contenitori potrebbe richiedere alcuni istanti. Lo stato completo della sequenza di provisioning può confermare se una distribuzione è riuscita. Per rivedere i dettagli della distribuzione, immetti il ​​seguente comando:

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

Una shell all'interno del terminale fornisce i dettagli per lo spazio dei nomi del coniglio.

Quando sei pronto per uscire dalla shell di monitoraggio, premi Ctrl+C .

Configura il server RabbitMQ

Le impostazioni per il server RabbitMQ e i suoi plug-in vengono modificate all'interno dei file di configurazione di RabbitMQ.

Puoi utilizzare il tuo editor di testo preferito per accedere e configurare rabbitmq.conf file. La sintassi del file di configurazione utilizza il sysctl formato e ci sono diversi principi di base a cui attenersi:

  • Il sistema non esegue le righe che iniziano con un # carattere, in quanto li considera un commento
  • Puoi definire solo un'impostazione per riga
  • Le righe utilizzano una semplice Chiave =Valore struttura

Il rabbitmq.conf consente di definire la maggior parte degli elementi di configurazione necessari, come porte, soglie di memoria, spazio su disco o autorizzazioni per connettersi al broker.

Il repository di origine del server RabbitMQ fornisce un esempio completo di un file rabbitmq.conf con commenti dettagliati. È importante notare che questo file di esempio rappresenta una guida generale e dovrebbe essere adattato per riflettere le esigenze specifiche del tuo sistema.

Configurazione del plug-in di gestione RabbitMQ per abilitare la GUI

Il plug-in di gestione RabbitMQ è già disponibile nella distribuzione predefinita. Usa i rabbitmq-plugins comando per abilitare il servizio:

rabbitmq-plugins enable rabbitmq_management

Accedi all'interfaccia grafica RabbitMQ utilizzando l'IP e il numero di porta per il server RabbitMQ. Inserisci il seguente formato di posizione web nel tuo browser:

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

L'IP e il numero di porta sono stati forniti durante il processo di installazione.

Il servizio richiede le tue credenziali. Per accedere all'interfaccia utente è necessario inserire nome utente e password. Nelle nuove installazioni di RabbitMQ, il nome utente e la password predefiniti sono entrambi predefiniti come "ospite".

Ora hai accesso a un ambiente intuitivo che ti consente di gestire host virtuali, code, autorizzazioni e scambi.

Come funziona RabbitMQ su Kubernetes?

Lo scopo stesso di Kubernetes è orchestrare i servizi e automatizzare i lavori in un cluster altamente distribuito. Un broker di messaggistica come RabbitMQ può migliorare la qualità delle attività di lunga durata e stabilizzare i processi vitali in background.

RabbitMQ utilizza l'Advanced Message Queuing Protocol (AMQP) per standardizzare la messaggistica tra produttori, broker e consumatori.

  • Un produttore pubblica un messaggio su Exchange .
  • Lo scambio formatta il messaggio e lo inoltra a una Coda predefinita e selezionata .
  • Un consumatore quindi recupera il messaggio formattato e lo consuma.

La distribuzione sistematica dei messaggi migliora la comunicazione tra applicazioni e servizi debolmente accoppiati.


Cent OS
  1. Come distribuire Elasticsearch su Kubernetes

  2. Come distribuire un'istanza di WordPress su Kubernetes

  3. Come distribuire il cluster Redis su Kubernetes

  4. Come riavviare i pod Kubernetes

  5. Come distribuire il tuo primo pod su un cluster Kubernetes

Come distribuire Mattermost su Ubuntu 20.04

Come distribuire Kubernetes a nodo singolo con Microk8s su Ubuntu 20.04

Come installare RabbitMQ in Ubuntu 20.04

Come installare RabbitMQ in CentOS 7

Come installare Kubernetes su CentOS 8

Come installare RabbitMQ su CentOS 8