Как получить микросервис Nestjs для общения с Rabbitmq в KubernetesJavascript

Форум по Javascript
Ответить
Anonymous
 Как получить микросервис Nestjs для общения с Rabbitmq в Kubernetes

Сообщение Anonymous »

Настройка моей среды разработки Docker Compose действительно проста. Однако я пытаюсь настроить тот же проект с Kubernetes. Чтобы сделать вещи простыми, я сломал установку на один микросервис с RabbitMQ. Ниже приведен развертывание файла yaml, в котором я пытался объявить все вещи, которые мне нужно, и он не работает.
файл развертывания : < Br />

Код: Выделить всё

apiVersion: v1
kind: Service
metadata:
name: rabbitmq
spec:
ports:
- port: 5672
targetPort: 5672
selector:
app: rabbitmq

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: rabbitmq
spec:
replicas: 1
selector:
matchLabels:
app: rabbitmq
template:
metadata:
labels:
app: rabbitmq
spec:
containers:
- name: rabbitmq
image: rabbitmq:3-management
ports:
- containerPort: 5672
- containerPort: 15672

---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: notification
name: notification
spec:
replicas: 1
selector:
matchLabels:
app: notification
template:
metadata:
labels:
app: notification
spec:
containers:
- image: aaronbalthaser/notification:v0.5
name: notification
env:
- name: RABBITMQ_URI
value: amqp://rabbitmq:5672
- name: MAILGUN_API_KEY
value: "ea0d74d8da769f9c405b02c85fb3dd37-7113c52e-98a7f729"
- name: MAILGUN_DOMAIN
value: "sandbox37f3b689954a497e8c19af2282730630.mailgun.org"
- name: DOMAIN
value: "http://localhost:4200"
main ts file :

Код: Выделить всё

async function bootstrap() {
const app = await NestFactory.create(NotificationModule);

const configService = app.get(ConfigService);

app.connectMicroservice({
transport: Transport.RMQ,
options: {
urls: [configService.getOrThrow("RABBITMQ_URI")],
queue: NOTIFICATION_SERVICE,
},
});

await app.startAllMicroservices();
}

bootstrap();
dockerfile :
###################
# DEVELOPMENT
###################

FROM node:alpine As development

WORKDIR /usr/src/app

COPY package.json ./
COPY pnpm-lock.yaml ./
COPY tsconfig.json ./
COPY nest-cli.json ./
COPY ca.pem ./

RUN npm install -g pnpm

COPY apps/notification apps/notification
COPY libs libs

RUN pnpm install

RUN pnpm run build notification

###################
# PRODUCTION
###################

FROM node:alpine as production

ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}

WORKDIR /usr/src/app

COPY package.json ./
COPY pnpm-lock.yaml ./
COPY ca.pem ./

RUN npm install -g pnpm

RUN pnpm install --prod

COPY --from=development /usr/src/app/dist ./dist

CMD ["node", "dist/apps/notification/main"]
< /code>
При попытке запустить файл, я получаю следующий вывод. В журнале консоли - это то, что я вывожу тот адрес хоста, который я передаю из Службы конфигурации. net/2e1quym6.png "/>
Для контекста ниже приведен выход, который я вижу, когда я использую Docker Compose:

Подробнее здесь: https://stackoverflow.com/questions/794 ... kubernetes
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»