Я создал контейнер Mongo, используя только базовый образ mongo: 3.6.4, официальный образ докера и развернул его в моем кластере OpenShift OKD, но не могу подключиться к этому экземпляру MongoDB с помощью клиента Mongo извне кластера.
Я могу получить доступ к модулю в http://mongodb.my.domain и успешно получить сообщение «Похоже, вы пытаетесь получить доступ к MongoDB через HTTP через собственный порт драйвера». сообщение.
При использовании терминала в модуле я могу успешно войти в систему, используя:
mongo "mongodb: // mongoadmin: pass @ localhost" --authenticationDatabase admin
Но при попытке подключения извне OKD соединение не удается.
Мой клиент должен пройти через прокси, прежде чем сможет получить доступ к модулям OKD, и у меня есть файл сертификата .der, но я не уверен, связано ли это с проблемой.
Некоторые команды, которые я пробовал:
mongo "mongodb: // mongoadmin: pass@mongodb.my.domain: 80" --authenticationDatabase admin
mongo --ssl "mongodb: // mongoadmin: pass@mongodb.my.domain: 80" --authenticationDatabase admin
Я ожидал, что смогу успешно подключиться, но вместо этого получил это сообщение об ошибке:
MongoDB shell version v3.4.20
connecting to: mongodb://mongoadmin:pass@mongodb.my.domain:80
2019-05-15T11:32:25.514+0100 I NETWORK [thread1] recv(): message len 1347703880 is invalid. Min 16 Max: 48000000
2019-05-15T11:32:25.514+0100 E QUERY [thread1] Error: network error while attempting to run command 'isMaster' on host 'mongodb.my.domain:80' :
connect@src/mongo/shell/mongo.js:240:13
@(connect):1:6
exception: connect failed
Я не уверен, является ли это проблемой с использованием моего клиента MongoDB или, возможно, с некоторыми настройками прокси в моем кластере OKD. Любая помощь будет оценена.