@ arghya-sadhu ответ правильный.
NB Я незнаком с RabbitMQ, но вам может потребоваться использовать другое изображение (см. 'Плагин управления` * ) для включения пользовательского интерфейса.
Подробнее см. ниже.
Вы сможете получить доступ к пользовательскому интерфейсу на одном (!) модуле с помощью:
PORT=8888
kubectl port-forward pod/rabbit-0 --namespace=${NAMESPACE} ${PORT}:15672
А затем просмотрите localhost:${PORT}
(если 8888
недоступен, попробуйте другой).
Я подозреваю (!) Это не сработает, если вы не используете образ с плагином управления.
Plus
-
Service
необходимо выбрать StatefulSet
Pods
В пределах Сервиса spec
вы должны добавить, возможно:
selector:
app: rabbit
- Предположительно (!?) Вы используете частное репо (потому что у вас есть
imagePullSecrets
).
Если вы этого не сделаете и wi sh чтобы использовать DockerHub, вы можете удалить раздел imagePullSecrets
.
- Полезно документировать (!) порты контейнера, хотя и не обязательно:
В StatefulSet
ports:
- containerPort: 5672
- containerPort: 15672
Отладка
NAMESPACE="default" # Or ...
Убедитесь, что StatefulSet создан:
kubectl get statesfulset/rabbit --namespace=${NAMESPACE}
Проверьте блоки:
kubectl get pods --selector=app=rabbit --namespace=${NAMESPACE}
Вы можете проверить Стручки связаны с (!) службой:
kubectl describe endpoints/rabbit --namespace=${NAMESPACE}
NB Вы должны увидеть 3 адреса (по одному на стручок)
Получите NodePort либо:
kubectl get service/rabbit --namespace=${NAMESPACE} --output=json
kubectl describe service/rabbit --namespace=${NAMESPACE}
потребуется , чтобы использовать NodePort для доступа как к конечной точке MQTT, так и к интерфейсу пользователя.