У меня есть три оптимизированные для контейнеров виртуальные машины , работающие на Google Compute Engine (GCE), каждая из которых Bitnami MongoDB Docker Контейнер , одна должна быть основным экземпляром Mon go DB. и два должны быть вторичными.
При создании виртуальных машин я указал в качестве образа контейнера "bitnami / mongodb: latest" и установил переменные среды в соответствии с документацией bitnami с использованием gce-container-declaration
(также возможно через пользовательский интерфейс в разделе «Расширенные параметры контейнера»)
Я могу подключиться к основному mongodb с помощью пароля, определенного через MONGODB_ROOT_PASSWORD
, а также другие виртуальные машины работают и слушают на их 27017 портах. Виртуальные машины также могут связываться друг с другом, поэтому правила VP C и брандмауэра подходят для Port 27017, 22 and 80 INGRESS / EGRESS
.
Но когда я хочу получить статус набора реплик rs.status()
на основном сервере, я всегда получить ошибку "errmsg" : "no replset config has been received"
. Таким образом, узлы не создают набор реплик ... С Docker -Compose это работает из коробки, и изображение Bitnami также должно автоматически запускать набор реплик, не так ли?
Я пробовал много вещей, включая использование MONGODB_ADVERTISED_HOSTNAME
с именами хостов custom GCE VM, но ничего не работает, и я не знаю, как найти проблему.
введите описание изображения здесь
Первичный узел - окружение контейнера. Варианты:
MONGODB_ROOT_PASSWORD = 'password123'
MONGODB_REPLICA_SET_NAME = 'rep'
MONGODB_REPLICA_SET_MODE = 'primary'
MONGODB_REPLICA_SET_KEY = '321abc123'
Secondary1 Node - Container Env. Варианты:
MONGODB_PRIMARY_ROOT_PASSWORD = 'password123'
MONGODB_REPLICA_SET_NAME = 'rep'
MONGODB_PRIMARY_HOST = '${VPC_LOCAL_IP_PRIMARY_NODE}'
MONGODB_PRIMARY_PORT_NUMBER = '27017'
MONGODB_REPLICA_SET_MODE = 'secondary'
MONGODB_REPLICA_SET_KEY = '321abc123'
Узел Secondary2 - Контейнер Env. Варс:
MONGODB_PRIMARY_ROOT_PASSWORD = 'password123'
MONGODB_REPLICA_SET_NAME = 'rep'
MONGODB_PRIMARY_HOST = '${VPC_LOCAL_IP_PRIMARY_NODE}'
MONGODB_PRIMARY_PORT_NUMBER = '27017'
MONGODB_REPLICA_SET_MODE = 'secondary'
MONGODB_REPLICA_SET_KEY = '321abc123'