#node.js #mongodb #kubernetes
Вопрос:
Не удалось подключиться к mongodb atlas с помощью модуля kubernetes. Перепробовал почти все, что доступно в Интернете, но безуспешно.
файл yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: weare-auth-depl
spec:
replicas: 1
selector:
matchLabels:
app: weare-auth
template:
metadata:
labels:
app: weare-auth
spec:
containers:
- name: weare-auth
image: <docker-username>/weare-auth
env:
- name: PORT
value: "3001"
restartPolicy: Always
dnsPolicy: Default
---
apiVersion: v1
kind: Service
metadata:
name: weare-auth-srv
spec:
selector:
app: weare-auth
ports:
- name: weare-auth
protocol: TCP
port: 3001
targetPort: 3001
и вот мой экспресс-код
import mongoose from "mongoose";
import { app } from "./app";
const start = async () => {
try {
await mongoose.connect(
"mongodb://<username>:<password>@test-clus.wpg0x.mongodb.net/auth",
{
useNewUrlParser: true,
useUnifiedTopology: true,
useCreateIndex: true,
}
);
console.log("Connected to mongodb");
const PORT = process.env.PORT || 3001;
app.listen(PORT, () => {
console.log(`Listening on port ${PORT}`);
});
} catch (err) {
console.error(err);
}
};
start();
Вот журналы
Найдите скриншот журналов ошибок здесь
Я замаскировал верительные грамоты. Также я могу подключиться к кластеру mongodb atlas через оболочку и Robo3T. Также попытался настроить политику dnsPolicy, как это было упомянуто в сообщении, но безуспешно.
Есть идеи, что я здесь упускаю?
Комментарии:
1. Пожалуйста, добавьте журналы, иначе это будет игра в угадайку.
2. @F1ko Добавил скриншот журналов ошибок
3. Соответствующая тема на форуме «Цифровой океан»: здесь . Привет, мне трудно понять, чего именно вы пытаетесь достичь. Правильно ли я понимаю, что вы пытаетесь подключиться со своего Kubernetes
Pod
к какому-либо внешнему серверу,mongodb
и у вас также естьService
возможность разрешить стручкам взаимодействовать с этим приложением изнутри кластера?4. @DawidKruk Да, это именно то, что я пытаюсь сделать. Этот модуль взаимодействует с другими блоками. Но я хочу, чтобы мои данные были у какого-нибудь поставщика управляемых баз данных, такого как mongo-atlas. Монго-Атлас обеспечивает подключение srv . Я считаю, что проблема в том, что модуль не поддерживает связь с Интернетом, поэтому ему не удается подключиться к данной строке подключения. Есть идеи, как это исправить?
5. Основные действия по устранению неполадок должны быть выполнены с вашей стороны, чтобы определить, есть ли у вас проблемы, связанные с разрешением сети/dns или подключением к службе atlas. Сначала, пожалуйста, попробуйте запустить a
Pod
с любым изображением и попробуйте свернуть внешние сайты, такие какgoogle.com
и другие. Если это не сработает, попробуйте пропинговать некоторые IP-адреса, например8.8.8.8
и т. Д. Здесь вы можете найти официальные документы, которые должны вам помочь: kubernetes.io/docs/tasks/administer-cluster/…