Невозможно подключиться к атласу mongodb из кластера kubernetes
Привет всем! Я не могу подключиться к базе данных mongo atlas в качестве службы вне кластера kubernetes из моего кластера kubernetes.
Вот шаги, которые я следовал.
В моем коде в nodejs используется dbUri= 'mongodb:// имя пользователя: пароль' + process.env.MONGO_URL + '/ database-name'
Вот конфиг службы ip кластера
kind: Service
apiVersion: v1
metadata:
name: mongo-cluster-ip-service
spec:
type: ClusterIP
ports:
- port: 27017
targetPort: 27017
тогда у меня есть конечные точки для того же сервиса
kind: Endpoints
apiVersion: v1
metadata:
name: mongo-cluster-ip-service
subsets:
- addresses:
- ip: 35.187.27.116
ports:
- port: 27017
- addresses:
- ip: 35.241.213.79
ports:
- port: 27017
- addresses:
- ip: 104.155.120.154
ports:
- port: 27017
Затем у меня есть мое развертывание, которое хочет использовать его для модулей через переменную env
apiVersion: apps/v1
kind: Deployment
metadata:
name: user-reg-auth-deployment
spec:
replicas: 3
selector:
matchLabels:
app: user-reg-auth
template:
metadata:
labels:
app: user-reg-auth
spec:
imagePullSecrets:
- name: ofinowregcred # this is a manually applied secret to the cluster using kubectl create secret
containers:
- name: user-reg-auth
image: ofinow/user-reg-auth
ports:
- containerPort: 8080
# resources:
# requests:
# memory: "64Mi"
# cpu: "250m"
# limits:
# memory: "128Mi"
# cpu: "500m"
env:
- name: MONGO_URL
value: mongo-cluster-ip-service
Теперь проблема в том, что mongo-cluster-ip-service не решается, поэтому я не могу подключиться. прошу помощи
Я следовал руководству по лучшим практикам Google https://cloud.google.com/blog/products/gcp/kubernetes-best-practices-mapping-external-services
0 ответов
Попробуйте любой из них;
решение А
Добавьте конечную точку кластера Kubernetes в белый список IP-адресов доступа к сети MongoDB.
Под спецификацией модуля вашего манифеста модуля k8s (или развертывания) добавьте поле dnsPolicy со значением по умолчанию. Следовательно, ваши поды (в основном ваш контейнер) будут подключаться к mongo через конфигурацию разрешения имен главного узла.
раствор B
Добавьте все конечные точки узлов в кластере k8s в белый список IP-адресов доступа к сети MongoDB.
В спецификации модуля вашего манифеста модуля k8s (или развертывания) добавьте поле dnsPolicy со значением, установленным в ClusterFirstWithHostNet. Поскольку модули работают с вашей хост-сетью, они получают доступ к службам, прослушивающим локальный хост.