Я пытаюсь настроить несколько микросервисов в Кубернетесе. Все работает как положено, кроме подключения одного микро сервиса к RabbitMQ.
Поток проблем:
- .NET Core приложение -> rabbitmq-kubernetes-service.yml -> RabbitMQ
В приложении .NET Core конфигурация фабрики соединений кролика выглядит следующим образом:
"RabbitMQ": {
"Host": "rabbitmq-service",
"Port": 7000,
"UserName": "guest",
"Password": "guest"
}
Служба кролика kubernetes выглядит так:
apiVersion: v1
kind: Service
metadata:
name: rabbitmq-service
spec:
selector:
app: rabbitmq
ports:
- port: 7000
targetPort: 5672
А также размещение кролика:
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq
labels:
app: rabbitmq
spec:
replicas: 1
selector:
matchLabels:
app: rabbitmq
template:
metadata:
labels:
app: rabbitmq
spec:
containers:
- name: rabbitmq
image: <private ACR with vanilla cfg - the image is: rabbitmq:3.7.9-management-alpine>
imagePullPolicy: Always
resources:
limits:
cpu: "1"
memory: 512Mi
requests:
cpu: "0.5"
ports:
- containerPort: 5672
Так что эта настройка в настоящее время не работает в k8s. Локально это работает как брелок с базовой композицией docker.
Однако , что я могу сделать в k8s, это перейти от LoadBalancer -> к работающему модулю кролика и получить доступ к GUI управления с этими настройками конфигурации.
apiVersion: v1
kind: Service
metadata:
name: rabbitmqmanagement-loadbalancer
spec:
type: LoadBalancer
selector:
app: rabbitmq
ports:
- port: 80
targetPort: 15672
Куда я иду не так?