community.mongodb.mongodb_replicaset – Инициализирует MongoDB репликацию.
Примечание
Этот плагин входит в коллекцию community.mongodb (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install community.mongodb.
Для использования в playbook, укажите: 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/mongodb/mongodb_replicaset_module.html