mirror of
https://github.com/marcel-dempers/docker-development-youtube-series.git
synced 2025-06-06 17:01:30 +00:00
1.7 KiB
1.7 KiB
RabbitMQ on Kubernetes
Create a cluster with kind
kind create cluster --name rabbit --image kindest/node:v1.18.4
Namespace
kubectl create ns rabbits
Storage Class
kubectl get storageclass
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
standard (default) rancher.io/local-path Delete WaitForFirstConsumer false 84s
Deployment
kubectl apply -n rabbits -f .\kubernetes\rabbit-rbac.yaml
kubectl apply -n rabbits -f .\kubernetes\rabbit-configmap.yaml
kubectl apply -n rabbits -f .\kubernetes\rabbit-secret.yaml
kubectl apply -n rabbits -f .\kubernetes\rabbit-statefulset.yaml
Access the UI
kubectl -n rabbits port-forward rabbitmq-0 8080:15672
Go to htttp://localhost:8080
Username: guest
Password: guest
Message Publisher
cd messaging\rabbitmq\applications\publisher
docker build . -t aimvector/rabbitmq-publisher:v1.0.0
kubectl apply -n rabbits -f deployment.yaml
Automatic Synchronization
https://www.rabbitmq.com/ha.html#unsynchronised-mirrors
rabbitmqctl set_policy ha-fed \
".*" '{"federation-upstream-set":"all", "ha-sync-mode":"automatic", "ha-mode":"nodes", "ha-params":["rabbit@rabbitmq-0.rabbitmq.rabbits.svc.cluster.local","rabbit@rabbitmq-1.rabbitmq.rabbits.svc.cluster.local","rabbit@rabbitmq-2.rabbitmq.rabbits.svc.cluster.local"]}' \
--priority 1 \
--apply-to queues