Spec-Zone.ru › Ansible

Модуль community.mongodb.mongodb_replicaset – Инициализация набора реплик MongoDB.

Примечание

Этот модуль входит в коллекцию community.mongodb (версия 1.7.12).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните команду ansible-galaxy collection list.

Чтобы установить ее, используйте: ansible-galaxy collection install community.mongodb. Для работы с этим модулем требуются дополнительные компоненты. Подробнее см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.mongodb.mongodb_replicaset.

Добавлено в community.mongodb 1.0.0

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Инициализирует набор реплик MongoDB в новом развертывании.
  • Проверяет имя набора реплик в существующих развертываниях.
  • Поддерживает расширенную настройку (и перенастройку) участников набора реплик (см. примеры).
  • Инициализируйте набор реплик до добавления пользователей в соответствии с \ [рекомендациями](https://www.mongodb.com/docs/manual/tutorial/deploy-replica-set-with-keyfile-access-control/).

Требования

Следующие компоненты должны быть установлены на хосте, на котором выполняется этот модуль.

  • pymongo

Параметры

Параметр

Комментарии

arbiter_at_index

integer

Указывает позицию арбитра в массиве участников.

atlas_auth

boolean

Способ аутентификации, предназначенный для экземпляров MongoDB Atlas

Варианты:

  • false ← (по умолчанию)
  • true

auth_mechanism

string

Тип аутентификации.

Варианты:

  • "SCRAM-SHA-256"
  • "SCRAM-SHA-1"
  • "MONGODB-X509"
  • "GSSAPI"
  • "PLAIN"

chaining_allowed

boolean

Если settings.chaining_allowed=true, набор реплик позволяет вторичным участникам реплицировать данные с других вторичных участников.

Если settings.chaining_allowed=false, вторичные участники могут реплицировать данные только с первичного участника.

Варианты:

  • false
  • true ← (по умолчанию)

cluster_cmd

string

Команда, которую модуль должен использовать для получения информации об узле MongoDB, к которому выполняется подключение.

Варианты:

  • "isMaster"
  • "hello" ← (по умолчанию)

connection_options

list / elements=any

Дополнительные параметры подключения.

Передайте их в виде списка словарей или строк с парами ключ-значение, разделенными символом «=».

debug

boolean

Добавляет дополнительную информацию для отладки.

Варианты:

  • false ← (по умолчанию)
  • true

election_timeout_millis

integer

Время в миллисекундах, по истечении которого первичный участник набора реплик считается недоступным.

По умолчанию: 10000

force

boolean

Применяется только при reconfigure = true.

Укажите true, чтобы принудительно применить новую конфигурацию к доступным участникам набора реплик.

Принудительная перенастройка может привести к неожиданному или нежелательному поведению, в том числе к откату записей, подтвержденных большинством.

Варианты:

  • false ← (по умолчанию)
  • true

heartbeat_timeout_secs

integer

Количество секунд, в течение которого участники набора реплик ожидают успешного сигнала проверки связи друг от друга.

Если участник не отвечает вовремя, остальные участники помечают его как недоступный.

Этот параметр применяется только при использовании protocol_version=0. При использовании protocol_version=1 применяется параметр settings.election_timeout_millis.

По умолчанию: 10

login_database

string

База данных, в которой хранятся учетные данные для входа.

По умолчанию: "admin"

login_host

string

Хост, на котором работает экземпляр MongoDB, к которому выполняется подключение.

По умолчанию: "localhost"

login_password

string

Пароль для аутентификации.

Обязателен, если указан login_user.

login_port

integer

Порт сервера MongoDB, к которому выполняется подключение.

По умолчанию: 27017

login_user

string

Пользователь MongoDB для входа.

Обязателен, если указан login_password.

max_time_ms

integer

Задает общий временной лимит в миллисекундах на выполнение перенастройки набора реплик.

members

list / elements=any

Список YAML, содержащий участников набора реплик.

Также можно указать строку CSV, например mongodb1:27017,mongodb2:27017,mongodb3:27017.

Для задания расширенных параметров участников набора реплик можно также использовать словарь.

Если номер порта не указан, предполагается значение 27017.

protocol_version

integer

Версия протокола выборов набора реплик.

Варианты:

  • 0
  • 1 ← (по умолчанию)

reconfigure

boolean

Эта функция пока экспериментальная. Тщательно протестируйте свой сценарий.

Сведения о поддерживаемых сценариях см. в файле интеграционных тестов — \ [интеграционные тесты](https://github.com/ansible-collections/community.mongodb/tree/master/tests/integration/targets/mongodb_replicaset/tasks). \ См. файлы с префиксом 330.

Определяет, следует ли выполнять перенастройку набора реплик.

Применяется только к уже существующему набору реплик.

За один вызов можно удалить или добавить только одного участника.

При перенастройке все участники должны быть указаны либо строками, либо словарями.

Изменение документа с настройками набора реплик пока не поддерживается.

При использовании этой функции всегда указывайте порты в списке набора реплик, иначе некоторые операции могут завершиться с ошибкой.

Варианты:

  • false ← (по умолчанию)
  • true

replica_set

string

Имя набора реплик.

По умолчанию: "rs0"

ssl

псевдонимы: tls

boolean

Использовать ли SSL-подключение к базе данных.

Варианты:

  • false ← (по умолчанию)
  • true

ssl_ca_certs

псевдонимы: tlsCAFile

string

Параметр ssl_ca_certs задает путь к файлу CA.

ssl_cert_reqs

псевдонимы: tlsAllowInvalidCertificates

string

Определяет, требуется ли сертификат от другой стороны подключения и нужно ли проверять его, если он предоставлен.

Варианты:

  • "CERT_NONE"
  • "CERT_OPTIONAL"
  • "CERT_REQUIRED" ← (по умолчанию)

ssl_certfile

псевдонимы: tlsCertificateKeyFile

string

Для предъявления клиентского сертификата используйте параметр ssl_certfile.

ssl_crlfile

string

Параметр ssl_crlfile задает путь к файлу CRL.

ssl_keyfile

string

Закрытый ключ клиентского сертификата.

ssl_pem_passphrase

псевдонимы: tlsCertificateKeyFilePassword

string

Парольная фраза для расшифровки зашифрованных закрытых ключей.

strict_compatibility

boolean

Строго проверять требования к версиям pymongo и MongoDB

Варианты:

  • false
  • true ← (по умолчанию)

validate

boolean

Выполняет базовую проверку указанной конфигурации набора реплик.

Варианты:

  • false
  • true ← (по умолчанию)

Примечания

Примечание

  • На удаленном хосте требуется пакет Python pymongo версии 4 или выше. Его можно установить с помощью 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"

- name: Replicaset with one arbiter node (mongodb3 - index is zero-based)
  community.mongodb.mongodb_replicaset:
    login_user: admin
    login_password: admin
    replica_set: rs0
    members:
      - mongodb1:27017
      - mongodb2:27017
      - mongodb3:27017
    arbiter_at_index: 2
  when: groups.mongod.index(inventory_hostname) == 0

- name: Add a new member to a replicaset - Safe for pre-5.0 consult documentation - https://docs.mongodb.com/manual/tutorial/expand-replica-set/
  block:
    - name: Create replicaset with module - with dicts
      community.mongodb.mongodb_replicaset:
        replica_set: "rs0"
        members:
           - host: localhost:3001
           - host: localhost:3002
           - host: localhost:3003

    - name: Wait for the replicaset to stabilise
      community.mongodb.mongodb_status:
        replica_set: "rs0"
        poll: 5
        interval: 10

    - name: Remove a member from the replicaset
      community.mongodb.mongodb_replicaset:
        replica_set: "rs0"
        reconfigure: yes
        members:
           - host: localhost:3001
           - host: localhost:3002

    - name: Wait for the replicaset to stabilise after member removal
      community.mongodb.mongodb_status:
        replica_set: "rs0"
        validate: minimal
        poll: 5
        interval: 10

    - name: Add a member to the replicaset
      community.mongodb.mongodb_replicaset:
        replica_set: "rs0"
        reconfigure: yes
        members:
           - host: localhost:3001
           - host: localhost:3002
           - host: localhost:3004
             hidden: true
             votes: 0
             priority: 0

    - name: Wait for the replicaset to stabilise after member addition
      community.mongodb.mongodb_status:
        replica_set: "rs0"
        validate: minimal
        poll: 5
        interval: 30

    - name: Reconfigure the replicaset - Make member 3004 a normal voting member
      community.mongodb.mongodb_replicaset:
        replica_set: "rs0"
        reconfigure: yes
        members:
           - host: localhost:3001
           - host: localhost:3002
           - host: localhost:3004
             hidden: false
             votes: 1
             priority: 1

    - name: Wait for the replicaset to stabilise
      community.mongodb.mongodb_status:
        replica_set: "rs0"
        poll: 5
        interval: 30

Возвращаемые значения

Общие возвращаемые значения описаны здесь. Ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

mongodb_replicaset

string

Имя созданного набора реплик.

Возвращается: success

reconfigure

boolean

Произошла ли перенастройка набора реплик.

Возвращается: при перенастройке набора реплик

Авторы

  • Rhys Campbell (@rhysmeister)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/mongodb/mongodb_replicaset_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API