Úvod
RabbitMQ je zavedený zprostředkovatel zpráv pro všeobecné použití. Zprostředkovatel usnadňuje výměnu zpráv mezi sadou distribuovaných mikroslužeb a umožňuje jim efektivně a spolehlivě komunikovat.
Kubernetes se svým přístupem zaměřeným na API je ideálním operátorem pro nasazení instancí RabbitMQ v clusteru. Možnosti škálování Kubernetes a automatizované nasazení kontejnerů zvyšují spolehlivost RabbitMQ v prostředí rozšířeného clusteru.
Tento kurz ukazuje, jak nainstalovat instanci RabbitMQ na Kubernetes.
Předpoklady
- Přístup k oknu terminálu/příkazovému řádku
- Cluster Kubernetes
- Kubernetes kubectl nástroj CLI
Nasaďte RabbitMQ na Kubernetes
Instalace pokročilých softwarových řešení na cluster Kubernetes často zahrnuje vytvoření a úpravu několika složitých konfiguračních souborů.
Kormidlo , správce balíků aplikací Kubernetes, dokáže velmi rychle zefektivnit proces instalace a nasadit prostředky v celém clusteru. Pro úspěšné nasazení RabbitMQ budeme muset nainstalovat správce balíčků Helm.
Instalovat Helm Package Manager
Pomocí následujícího příkazu nainstalujte nejnovější verzi Helm do místního clusteru Kubernetes:
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
Po dokončení procesu instalace spusťte správce balíčků Helm zadáním následujícího příkazu:
helm init
Nyní můžete použít Helm k nasazení prostředků v celém clusteru pomocí několika krátkých příkazů.
Vytvořte jmenný prostor pro nasazení RabbitMQ
Všechny prostředky v Kubernetes jsou spuštěny v oboru názvů. Pokud není specifikován, systém používá výchozí jmenný prostor. Chcete-li mít lepší kontrolu nad procesem nasazení, použijte k vytvoření samostatného jmenného prostoru následující příkaz:
kubectl create namespace rabbit
Můžete použít jakýkoli název kompatibilní s DNS. Jmenný prostor, který jsme vytvořili, se jmenuje:králík.
Systém potvrdí, že jmenný prostor byl úspěšně vytvořen.
Nainstalujte RabbitMQ na Kubernetes
S úspěšně nainstalovaným Helm a určeným jmenným prostorem jste připraveni zahájit proces nasazení RabbitMQ. Chcete-li použít výchozí stable/rabbitmq, zadejte následující příkaz graf z úložiště git:
helm install mu-rabbit stable/rabbitmq --namespace rabbit
Příkaz nasadí RabbitMQ na cluster Kubernetes ve výchozí konfiguraci. Nasazení se provádí v králíku jmenný prostor vytvořený dříve.
Terminál poskytuje informace, které potřebujete pro přístup k rozhraní pro správu RabbitMQ z vašich prohlížečů, jako jsou přihlašovací údaje, číslo portu a URL.
Zkontrolujte stav poskytování RabbitMQ
Rozmístění kontejnerů může chvíli trvat. Úplný stav sekvence zřizování může potvrdit, zda bylo nasazení úspěšné. Chcete-li zkontrolovat podrobnosti o nasazení, zadejte následující příkaz:
watch kubectl get deployments,pods,services --namespace rabbit
Shell v terminálu poskytuje podrobnosti o jmenném prostoru králíka.
Jakmile budete připraveni opustit monitorovací shell, stiskněte Ctrl+C .
Konfigurace RabbitMQ Server
Nastavení pro server RabbitMQ a jeho pluginy se upravují v konfiguračních souborech RabbitMQ.
Pro přístup a konfiguraci rabbitmq.conf můžete použít svůj preferovaný textový editor soubor. Syntaxe konfiguračního souboru používá sysctl
formátu a existuje několik základních principů, které je třeba dodržovat:
- Systém neprovádí řádky, které začínají
#
charakter, protože je považuje za komentář - Můžete definovat pouze jedno nastavení na řádek
- Řádky používají jednoduchý Klíč =Hodnota struktura
Soubor rabbitmq.conf umožňuje definovat většinu nezbytných konfiguračních položek, jako jsou porty, prahové hodnoty paměti, místo na disku nebo oprávnění pro připojení k brokerovi.
Zdrojové úložiště serveru RabbitMQ poskytuje komplexní příklad souboru rabbitmq.conf s podrobnými komentáři. Je důležité poznamenat, že tento vzorový soubor představuje obecnou příručku a měl by být přizpůsoben tak, aby odrážel specifické potřeby vašeho systému.
Nastavení modulu RabbitMQ Management Plugin pro povolení GUI
Plugin pro správu RabbitMQ je již k dispozici ve výchozí distribuci. Použijte rabbitmq-plugins
příkaz pro povolení služby:
rabbitmq-plugins enable rabbitmq_management
Získejte přístup ke grafickému rozhraní RabbitMQ pomocí adresy IP a čísla portu pro server RabbitMQ. Do prohlížeče zadejte následující formát umístění webu:
http://rabbitmq-ip-or-server-name:15672/
IP a číslo portu byly poskytnuty během procesu instalace.
Služba požádá o vaše přihlašovací údaje. Chcete-li získat přístup k uživatelskému rozhraní, musíte zadat své uživatelské jméno a heslo. V nových instalacích RabbitMQ jsou výchozí uživatelské jméno a heslo předdefinované jako „host“.
Nyní máte přístup k uživatelsky přívětivému prostředí, které vám umožňuje spravovat virtuální hostitele, fronty, oprávnění a výměny.
Jak RabbitMQ funguje na Kubernetes?
Samotným účelem Kubernetes je organizovat služby a automatizovat úlohy ve vysoce distribuovaném clusteru. Zprostředkovatel zpráv, jako je RabbitMQ, může zlepšit kvalitu dlouhotrvajících úkolů a stabilizovat životně důležité procesy na pozadí.
RabbitMQ používá protokol AMQP (Advanced Message Queuing Protocol) ke standardizaci zasílání zpráv mezi producenty, zprostředkovateli a spotřebiteli.
- Producent publikuje zprávu na Exchange .
- Exchange naformátuje zprávu a přepošle ji do předem definované a vybrané Fronty .
- Spotřebitel poté načte naformátovanou zprávu a spotřebuje ji.
Systematická distribuce zpráv zlepšuje komunikaci mezi volně propojenými aplikacemi a službami.