Pendahuluan
RabbitMQ adalah broker pesan tujuan umum yang mapan. Pialang memfasilitasi pertukaran pesan antara satu set layanan mikro terdistribusi dan memungkinkan mereka untuk berkomunikasi secara efisien dan andal.
Kubernetes, dengan pendekatan API-centric, adalah operator yang ideal untuk menerapkan instance RabbitMQ dalam sebuah cluster. Kemampuan penskalaan Kubernetes dan penerapan container otomatis meningkatkan ketergantungan RabbitMQ dalam lingkungan cluster yang diperluas.
Tutorial ini menunjukkan cara menginstal instance RabbitMQ di Kubernetes.
Prasyarat
- Akses ke jendela terminal/ baris perintah
- Kluster Kubernetes
- Kubernet kubectl Alat CLI
Menerapkan RabbitMQ di Kubernetes
Menginstal solusi perangkat lunak tingkat lanjut pada cluster Kubernetes sering kali melibatkan pembuatan dan pengeditan beberapa file konfigurasi yang rumit.
Helm , manajer paket aplikasi Kubernetes, dapat menyederhanakan proses instalasi dan menyebarkan sumber daya ke seluruh cluster dengan sangat cepat. Agar berhasil menerapkan RabbitMQ, kita harus menginstal manajer paket Helm.
Instal Manajer Paket Helm
Gunakan perintah berikut untuk menginstal Helm versi terbaru di cluster Kubernetes lokal Anda:
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
Setelah proses instalasi selesai, inisiasi pengelola paket Helm dengan mengetikkan perintah berikut:
helm init
Sekarang Anda dapat menggunakan Helm untuk menerapkan sumber daya di seluruh cluster dengan beberapa perintah singkat.
Buat Namespace untuk Penempatan RabbitMQ
Semua resource di Kubernetes dimulai di namespace. Kecuali satu ditentukan, sistem menggunakan namespace default. Untuk memiliki kontrol yang lebih baik atas proses penerapan, gunakan perintah berikut untuk membuat namespace yang berbeda:
kubectl create namespace rabbit
Anda dapat menggunakan nama apa pun yang kompatibel dengan DNS. Namespace yang kami buat bernama:kelinci.
Sistem mengonfirmasi bahwa namespace telah berhasil dibuat.
Instal RabbitMQ di Kubernetes
Dengan Helm yang berhasil diinstal dan namespace yang ditentukan, Anda siap untuk memulai proses penerapan RabbitMQ. Masukkan perintah berikut untuk menerapkan default stable/rabbitmq bagan dari repositori git:
helm install mu-rabbit stable/rabbitmq --namespace rabbit
Perintah tersebut menyebarkan RabbitMQ pada cluster Kubernetes dalam konfigurasi default. Penerapan dijalankan di kelinci namespace yang dibuat sebelumnya.
Terminal menyediakan informasi yang Anda butuhkan untuk mengakses antarmuka manajemen RabbitMQ dari browser Anda seperti kredensial, nomor port, dan URL.
Periksa Status Penyediaan RabbitMQ
Penampung mungkin memerlukan beberapa saat untuk diterapkan. Status lengkap dari urutan penyediaan dapat mengonfirmasi apakah penerapan berhasil. Untuk meninjau detail penerapan, masukkan perintah berikut:
watch kubectl get deployments,pods,services --namespace rabbit
Sebuah shell di dalam terminal menyediakan detail untuk namespace kelinci.
Setelah Anda siap untuk keluar dari shell pemantauan, tekan Ctrl+C .
Konfigurasi Server RabbitMQ
Pengaturan untuk server RabbitMQ dan pluginnya diedit di dalam file konfigurasi RabbitMQ.
Anda dapat menggunakan editor teks pilihan Anda untuk mengakses dan mengonfigurasi rabbitmq.conf mengajukan. Sintaks file konfigurasi menggunakan sysctl
format, dan ada beberapa prinsip dasar yang harus dipatuhi:
- Sistem tidak mengeksekusi baris yang dimulai dengan
#
karakter, karena menganggapnya sebagai komentar - Anda hanya dapat menentukan satu setelan per baris
- Garis menggunakan Kunci =Nilai sederhana struktur
rabbitmq.conf file memungkinkan Anda untuk menentukan sebagian besar item konfigurasi yang diperlukan, seperti port, ambang memori, ruang disk, atau izin untuk terhubung ke broker.
Repositori sumber server RabbitMQ menyediakan contoh lengkap file rabbitmq.conf dengan komentar terperinci. Penting untuk dicatat bahwa file contoh ini merupakan panduan umum dan harus disesuaikan untuk mencerminkan kebutuhan spesifik sistem Anda.
Mengatur Plugin Manajemen RabbitMQ untuk mengaktifkan GUI
Plugin manajemen RabbitMQ sudah tersedia di distribusi default. Gunakan rabbitmq-plugins
perintah untuk mengaktifkan layanan:
rabbitmq-plugins enable rabbitmq_management
Akses antarmuka grafis RabbitMQ dengan menggunakan IP dan nomor port untuk server RabbitMQ. Masukkan format lokasi web berikut di browser Anda:
http://rabbitmq-ip-or-server-name:15672/
IP dan nomor port diberikan selama proses instalasi.
Layanan meminta kredensial Anda. Untuk mendapatkan akses ke UI perlu memasukkan nama pengguna dan kata sandi Anda. Pada instalasi RabbitMQ baru, nama pengguna dan kata sandi default keduanya telah ditentukan sebelumnya sebagai “tamu.”
Sekarang Anda memiliki akses ke lingkungan yang mudah digunakan yang memungkinkan Anda mengelola host virtual, antrean, izin, dan pertukaran.
Bagaimana RabbitMQ bekerja di Kubernetes?
Tujuan utama Kubernetes adalah untuk mengatur layanan dan mengotomatisasi pekerjaan di cluster yang sangat terdistribusi. Pialang pesan seperti RabbitMQ dapat meningkatkan kualitas tugas yang berjalan lama dan menstabilkan proses latar belakang yang vital.
RabbitMQ menggunakan Advanced Message Queuing Protocol (AMQP) untuk menstandardisasi pesan antara Produsen, Pialang, dan Konsumen.
- Seorang Produser memublikasikan pesan ke Bursa .
- Exchange memformat pesan dan meneruskannya ke Antrian yang telah ditentukan dan dipilih sebelumnya .
- Seorang Konsumen kemudian mengambil pesan yang telah diformat dan menggunakannya.
Distribusi pesan yang sistematis meningkatkan komunikasi antara aplikasi dan layanan yang digabungkan secara longgar.