RabbitMQ
Helm chart installation
Install without storage class
NS=rabbits
helm upgrade --install rabbitmq oci://registry-1.docker.io/bitnamicharts/rabbitmq --create-namespace --namespace $NS \
--set plugins="rabbitmq_federation rabbitmq_management rabbitmq_peer_discovery_k8s rabbitmq_management_agent rabbitmq_auth_backend_ldap" \
--set replicaCount=2
Access configuration
kubectl port-forward --namespace $NS svc/rabbitmq 5672:5672
kubectl port-forward --namespace $NS svc/rabbitmq 15672:15672
kubectl get secret --namespace $NS rabbitmq -o jsonpath="{.data.rabbitmq-password}" | base64 -d
Install with storage class
helm uninstall rabbitmq -n $NS
Hardware requirements
| Resource | Minimum | Recommend |
|---|---|---|
| CPU | 500m | 1000m |
| RAM | 512 MB | 1 GB |
| DISK | 4 GB | 8 GB |
helm upgrade --install rabbitmq oci://registry-1.docker.io/bitnamicharts/rabbitmq \
--set persistence.enabled=true \
--set persistence.storageClass="longhorn" \
--set persistence.size=500Mi \
--set plugins="rabbitmq_federation rabbitmq_management rabbitmq_peer_discovery_k8s rabbitmq_management_agent rabbitmq_auth_backend_ldap" \
--set replicaCount=2 \
--create-namespace --namespace $NS
Expose with Nginx
sudo dnf install -y nginx-mod-stream
vi /etc/nginx/nginx.conf
stream {
upstream rabbitmq {
server <LoadBalancer IP>:5672;
}
server {
listen 5672;
proxy_pass rabbitmq;
proxy_timeout 1h;
proxy_connect_timeout 1h;
}
}
sudo systemctl reload nginx
Install with values file
kubectl create namespace $NS
NS=test
helm upgrade --install rabbitmq oci://registry-1.docker.io/bitnamicharts/rabbitmq -n $NS --values values.yaml
helm uninstall rabbitmq -n $NS