Spec-Zone.ru › Ansible

Модуль community.mongodb.mongodb_replicaset — Инициализирует MongoDB репликацию.

Примечание

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

Эта коллекция может быть уже установлена, если вы используете пакет 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
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

arbiter_at_index

целое число

Определяет позицию узла в массиве, который является арбитром.

atlas_auth

логическое значение

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

Варианты:

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

auth_mechanism

строка

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

Варианты:

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

chaining_allowed

логическое значение

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

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

Варианты:

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

cluster_cmd

строка

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

Варианты:

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

connection_options

список / элементы=любой

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

Указывать в виде списка словарей или строк, содержащих пары ключ-значение, разделенные ‘=’.

debug

логическое значение

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

Варианты:

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

election_timeout_millis

целое число

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

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

force

логическое значение

Актуально только при reconfigure = true.

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

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

Варианты:

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

heartbeat_timeout_secs

целое число

Количество секунд, которое члены репликации ждут успешного удара сердца друг от друга.

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

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

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

login_database

строка

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

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

login_host

строка

Хост, на котором запущен экземпляр MongoDB для входа.

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

login_password

строка

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

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

login_port

целое число

Порт сервера MongoDB для входа.

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

login_user

строка

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

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

max_time_ms

целое число

Указывает суммарный предел времени в миллисекундах для обработки переконфигурации репликации.

members

список / элементы=любой

Список в формате YAML, содержащий члены репликации.

Также принимается строка в формате CSV, например mongodb1:27017,mongodb2:27017,mongodb3:27017.

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

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

protocol_version

целое число

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

Варианты:

  • 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

aliases: tls

boolean

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

Варианты:

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

ssl_ca_certs

aliases: tlsCAFile

string

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

ssl_cert_reqs

aliases: tlsAllowInvalidCertificates

string

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

Варианты:

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

ssl_certfile

aliases: tlsCertificateKeyFile

string

Предоставить сертификат клиента с помощью ssl_certfile.

ssl_crlfile

string

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

ssl_keyfile

string

Приватный ключ для сертификата клиента.

ssl_pem_passphrase

aliases: tlsCertificateKeyFilePassword

string

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

strict_compatibility

boolean

Принудительное выполнение строгих требований к версиям pymongo и программного обеспечения MongoDB

Варианты:

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

validate

boolean

Производит базовую валидацию предоставленной конфигурации репликазет.

Варианты:

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

Примечания

Примечание

  • Требуется пакет pymongo Python на удаленном хосте, версия 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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/mongodb/mongodb_replicaset_module.html

Spec-Zone.ru

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