Я разработал приложение ASP.Net локально в Windows с локальной базой данных mongodb. Итак, теперь я хочу развернуть его на своем кластере Google kubernetes и для этого я создал репликацию mongodb без сохранения состояния. Все идет нормально. Я хочу подключиться к этому репликасу, но мое приложение всегда выдает ошибку отказа в соединении, но я могу подключиться к этому mongodb из другого модуля с помощью ping.
Итак, я изменил строку подключения с
mongodb://mongo-0.mongo,mongo-1.mongo
в
mongodb://mongo-0.mongo,mongo-1.mongo?connect=replicaSet
это не сработало. Я попытался масштабировать репликационный набор и т. Д., Но это не сработало.
Вот как я подключаюсь к базе данных:
public DatabaseContext(string dbUrl)
{
var client = new MongoClient(dbUrl);
_database = client.GetDatabase("test");
}
Вот ошибка:
Connection id "0HLO23AT5M5C3", Request id "0HLO23AT5M5C3:00000001": An unhandled exception was thrown by the application.
System.TimeoutException: A timeout occured after 30000ms selecting a server using CompositeServerSelector{ Selectors = MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector, LatencyLimitingServerSelector{ AllowedLatencyRange = 00:00:00.0150000 } }. Client view of cluster state is { ClusterId : "1", ConnectionMode : "ReplicaSet", Type : "ReplicaSet", State : "Disconnected", Servers : [{ ServerId: "{ ClusterId : 1, EndPoint : "Unspecified/mongo-0.mongo:27017" }", EndPoint: "Unspecified/mongo-0.mongo:27017", State: "Disconnected", Type: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException: An exception occurred while opening a connection to the server. ---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException: Connection refused 10.4.0.5:27017
Как бы я подключился к этому репликасу?