community.mongodb.mongodb_replicaset – Инициализирует репликацию MongoDB.
Примечание
Этот плагин является частью коллекции community.mongodb (версия 1.2.0).
Для его установки используйте: ansible-galaxy collection install community.mongodb.
Для использования в плейбуке укажите: community.mongodb.mongodb_replicaset.
Новый в версии 1.0.0: из community.mongodb
Описание
- Инициализирует репликацию MongoDB в новой развертывании.
- Проверяет имя репликации для существующих развертываний.
- Возможность продвинутой конфигурации членов репликации (см. примеры).
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- pymongo
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| arbiter_at_index целое число | Указывает позицию члена в массиве, являющегося арбитром. | |
| auth_mechanism строка |
| Тип аутентификации. |
| chaining_allowed булево |
| Если settings.chaining_allowed=true, репликация разрешает вторичным членам реплицировать данные с других вторичных членов. Если settings.chaining_allowed=false, вторичные члены могут реплицировать данные только с первичного. |
| connection_options список / элементы=сырые данные | Дополнительные параметры подключения. Указывать как список словарей или строки, содержащие пары ключ-значение, разделенные символом «=». | |
| election_timeout_millis целое число | Значение по умолчанию: 10000 | Предельное время в миллисекундах для определения недоступности первичного члена репликации. |
| heartbeat_timeout_secs целое число | Значение по умолчанию: 10 | Количество секунд, в течение которого члены репликации ожидают успешного ответа «биение сердца» друг от друга. Если член не отвечает вовремя, другие члены отмечают его как недоступного. Настройка применяется только при использовании protocol_version=0. При использовании protocol_version=1 соответствующая настройка — settings.election_timeout_millis. |
| login_database строка | Значение по умолчанию: "admin" | База данных, где хранятся учетные данные для входа. |
| login_host строка | Значение по умолчанию: "localhost" | Хост, на котором запущен экземпляр MongoDB для входа. |
| login_password строка | Пароль, используемый для аутентификации. Требуется, когда указан login_user. | |
| login_port целое число | Значение по умолчанию: 27017 | Порт сервера MongoDB для входа. |
| login_user строка | Пользователь MongoDB для входа. Требуется, когда указан login_password. | |
| members список / элементы=сырые данные | Список YAML, содержащий членов репликации. Также принимается строка CSV, например mongodb1:27017,mongodb2:27017,mongodb3:27017. Можно использовать словарь для задания дополнительных параметров членов репликации. Если номер порта не указан, предполагается 27017. | |
| protocol_version целое число |
1 | Версия протокола выборов репликации. |
| replica_set строка | Значение по умолчанию: "rs0" | Имя репликации. |
| ssl булево |
| Использовать ли SSL-соединение при подключении к базе данных. |
| ssl_ca_certs строка | Параметр ssl_ca_certs принимает путь к файлу CA. | |
| ssl_cert_reqs строка |
| Указывает, требуется ли сертификат от другой стороны соединения и будет ли он проверен, если предоставлен. |
| ssl_certfile строка | Предоставить сертификат клиента с помощью параметра ssl_certfile. | |
| ssl_crlfile строка | Параметр ssl_crlfile принимает путь к файлу CRL. | |
| ssl_keyfile строка | Приватный ключ для сертификата клиента. | |
| ssl_pem_passphrase строка | Пароль для расшифровки зашифрованных приватных ключей. | |
| validate булево |
| Выполняет основную проверку предоставленной конфигурации репликации. |
Примечания
Примечание
- Требуется пакет pymongo Python на удаленном хосте, версия 2.4.2+. Его можно установить с помощью pip или менеджера пакетов ОС. @см. http://api.mongodb.org/python/current/installation.html
Примеры
# Create a replicaset called 'rs0' with the 3 provided members
- name: Ensure replicaset rs0 exists
community.mongodb.mongodb_replicaset:
login_host: localhost
login_user: admin
login_password: admin
replica_set: rs0
members:
- mongodb1:27017
- mongodb2:27017
- mongodb3:27017
when: groups.mongod.index(inventory_hostname) == 0
# Create two single-node replicasets on the localhost for testing
- name: Ensure replicaset rs0 exists
community.mongodb.mongodb_replicaset:
login_host: localhost
login_port: 3001
login_user: admin
login_password: secret
login_database: admin
replica_set: rs0
members: localhost:3001
validate: no
- name: Ensure replicaset rs1 exists
community.mongodb.mongodb_replicaset:
login_host: localhost
login_port: 3002
login_user: admin
login_password: secret
login_database: admin
replica_set: rs1
members: localhost:3002
validate: no
- name: Create a replicaset and use a custom priority for each member
community.mongodb.mongodb_replicaset:
login_host: localhost
login_user: admin
login_password: admin
replica_set: rs0
members:
- host: "localhost:3001"
priority: 1
- host: "localhost:3002"
priority: 0.5
- host: "localhost:3003"
priority: 0.5
when: groups.mongod.index(inventory_hostname) == 0
- name: Create replicaset rs1 with options and member tags
community.mongodb.mongodb_replicaset:
login_host: localhost
login_port: 3001
login_database: admin
replica_set: rs1
members:
- host: "localhost:3001"
priority: 1
tags:
dc: "east"
usage: "production"
- host: "localhost:3002"
priority: 1
tags:
dc: "east"
usage: "production"
- host: "localhost:3003"
priority: 0
hidden: true
slaveDelay: 3600
tags:
dc: "west"
usage: "reporting"
Возвращаемые значения
Общие возвращаемые значения документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| mongodb_replicaset строка | успех | Имя созданной репликации. |
Авторы
- Rhys Campbell (@rhysmeister)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/mongodb/mongodb_replicaset_module.html