Kubernetes - запуск Rabbitmq

Thank you for reading this post, don't forget to subscribe!

kubectl create namespace rabbitmq
helm pull stable/rabbitmq

гене­ри­ру­ем пароль админки
echo -n "rlvjD8QZUB" | base64
cmx2akQ4UVpVQg==

созда­ём секрет
cat rabbitmq/secret-admin-password.yaml

При­ме­ня­ем
kubectl apply -f rabbitmq/secret-admin-password.yaml

пра­вим наш helm

vim rabbitmq/values.yaml

неза­бы­ва­ем про­гнать лейб­лы по всем неймспейсам:
kubectl label namespace --all "prometheus=enabled"
и зада­ём servicemonitor в namespace monitoring  (там у меня запу­щен мой prometheus)

Уста­нав­ли­ва­ем:

helm install rabbitmq rabbitmq/ -n rabbitmq --values rabbitmq/values.yaml

если забыл пароль то посмот­реть его мож­но командой:
echo "Password : $(kubectl get secret --namespace rabbitmq secret-admin-password -o jsonpath="{.data.rabbitmq-password}" | base64 --decode)"

надо открыть доступ по пор­ту для tcp 5672 для это­го редак­ти­ру­ем наш общий configmap

cat /root/ConfigMap.yml

здесь пер­вые 5672 это ука­за­тель на порт снаружи.
пер­вый rabbitmq - это наш namespace
вто­рой rabbitmq - это имя наше­го сер­ви­са кото­рый висит на пор­ту 5672

при­ме­ня­ем:
kubectl apply -f rabbitmq/ConfigMap-for-rabbit-port.yml

далее пра­вим сервис:
kubectl edit service -n ingress-nginx ingress-nginx

kubectl edit daemonsets.apps -n ingress-nginx ingress-nginx-controller

после добав­ле­ния на ingress появит­ся пор 5672 на кото­рый мож­но обра­щать­ся из вне.

если необ­хо­ди­мо обра­щать­ся изнут­ри кла­сте­ра то мож­но исполь­зо­вать адресс:
rabbitmq-headless.rabbitmq.svc.test.local:5672