mongodb_install
Ansible Роль: mongodb_install
Эта роль устанавливает серверное метапакет MongoDB Community edition, mongodb-org
, с помощью менеджера пакетов ОС (по умолчанию) или двоичных файлов сервера через tar-файл. В настоящее время по умолчанию устанавливается последняя версия начиная с 4, вы можете установить более новую основную версию, установив mongodb_version: 6.0.16
. Для получения информации о совместимости смотрите раздел "Проверенные платформы и версии".
Кроме того, вы можете установить двоичные файлы сервера MongoDB - mongo
, mongod
, mongos
, установив mongodb_pkg_install: false
, и роль загрузит последний tar-файл начиная с 4 или более новую основную версию, установив mongodb_version
. Если вы хотите установить двоичный файл с вашего локального управляющего хоста Ansible, скачайте соответствующий tar-файл, mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
, в вашу директорию files
и установите следующие две переменные в вашем плейбуке:
mongodb_tar_src: mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
mongodb_tar_src_remote: false
Смотрите раздел "Примеры плейбуков" для работающих примеров. Эта роль не настраивает сервер, она использует значения конфигурации по умолчанию и минимальные рекомендуемые настройки ulimit
. Рекомендуется настроить сервер для производственного использования, подробности см. по ссылке: https://www.mongodb.com/docs/manual/administration/production-notes/
Установка роли
Вы можете установить эту роль с помощью CLI Ansible Galaxy:
ansible-galaxy install trfore.mongodb_install
Также вы можете включить ее в файл requirements.yml
и установить с помощью ansible-galaxy install -r requirements.yml
, используя формат:
---
roles:
- trfore.mongodb_install
Проверенные платформы и версии
MongoDB Community 7.0.12
- CentOS Stream 8 и 9
- Debian 11 и 12
- Ubuntu 20.04 и 22.04
MongoDB Community 6.0.16
- CentOS Stream 8 и 9
- Debian 10 и 11
- Ubuntu 20.04 и 22.04
MongoDB Community 5.0.28
- CentOS Stream 8
- Debian 10 и 11
- Ubuntu 20.04
MongoDB Community 4.4.29
- CentOS Stream 8
- Debian 10
- Ubuntu 20.04
Требования
ansible-core>=2.14.0
Зависимости
community.general.yum_versionlock
(для целевого хоста CentOS и RHEL)ansible-galaxy collection install community.general
Переменные роли
Общие переменные
Общие переменные перечислены ниже вместе с значениями по умолчанию (см. defaults/main.yml
):
Переменная | По умолчанию | Описание | Обязательная |
---|---|---|---|
mongodb_pkg_install | true |
Логическое значение, true для установки MongoDB через менеджер пакетов |
Нет |
mongodb_version | 4.4.29 |
Стабильные версии MongoDB Community v4.4 , v5 , v6 , v7 |
Нет |
mongodb_version_maj | Автоматически | Извлекает основное значение из mongodb_version |
Автоматически |
mongodb_version_maj_minor | Автоматически | Извлекает основные и вторичные значения из mongodb_version |
Автоматически |
Переменные установки пакетов
defaults/main.yml
:
Переменная | По умолчанию | Описание | Обязательная |
---|---|---|---|
mongodb_gpg_key | URL | GPG-ключ MongoDB | Нет |
mongodb_pkg_hold | true |
Логическое значение, true для блокировки версии пакета |
Нет |
mongodb_pkg_hold_list | Пакеты MongoDB | Список пакетов MongoDB, установленных из mongodb-org , v4.4 до v7 |
Нет |
Переменные установки двоичных файлов
defaults/main.yml
:
Переменная | По умолчанию | Описание | Обязательная |
---|---|---|---|
mongodb_tar_src | URL | URL или относительный ПУТЬ, tar-файл двоичных файлов MongoDB Community (tar установка) | Нет |
mongodb_tar_src_remote | true |
Логическое значение, true , если загрузка происходит по URL (tar установка) |
Нет |
mongodb_path_exec | /usr/bin |
ПУТЬ, путь к двоичным файлам MongoDB (tar установка) | Нет |
Другие специфические для ОС переменные
vars/debian.yml
:
Переменная | По умолчанию | Описание | Обязательная |
---|---|---|---|
mongodb_path_db | /var/lib/mongodb |
ПУТЬ, папка базы данных MongoDB (tar установка) | Нет |
mongodb_path_log | /var/log/mongodb |
ПУТЬ, папка логов MongoDB (tar установка) | Нет |
mongodb_dependencies | ["libcurl4","openssl","liblzma5"] |
Необходимые пакеты для MongoDB (tar установка) | Нет |
mongodb_pkg_hold_list | Пакеты MongoDB | Список пакетов MongoDB, установленных из mongodb-org (pkg установка) |
Нет |
vars/redhat.yml
и vars/redhat_mongo_v{4-6}.yml
:
Переменная | По умолчанию | Описание | Обязательная |
---|---|---|---|
mongodb_path_db | /var/lib/mongo |
ПУТЬ, папка базы данных MongoDB (tar установка) | Нет |
mongodb_path_log | /var/log/mongodb |
ПУТЬ, папка логов MongoDB (tar установка) | Нет |
mongodb_dependencies | ["libcurl-minimal","openssl","xz-libs"] |
Необходимые пакеты для MongoDB (tar установка) | Нет |
mongodb_pkg_hold_list | Пакеты MongoDB | Список пакетов MongoDB, установленных из mongodb-org (pkg установка) |
Нет |
Примеры плейбуков
- Установка пакета через менеджер пакетов дистрибутива.
- hosts: servers
become: true
roles:
- name: Установить MongoDB
role: trfore.mongodb_install
- hosts: servers
become: true
vars:
mongodb_pkg_install: true
mongodb_version: "6.0.16"
roles:
- name: Установить MongoDB
role: trfore.mongodb_install
- Установка двоичных файлов из tar-файла.
- hosts: servers
become: true
vars:
mongodb_pkg_install: false
mongodb_version: "6.0.16"
roles:
- name: Установить MongoDB
role: trfore.mongodb_install
- Установка двоичных файлов из tar-файла, если вы вручную скачаете tar-файл на ваш управляющий хост.
- hosts: servers
become: true
vars:
mongodb_pkg_install: false
mongodb_tar_src: mongodb-linux-x86_64-debian10-4.4.29.tgz
mongodb_tar_src_remote: false
roles:
- name: Установить MongoDB
role: trfore.mongodb_install
Лицензия
Эта роль Ansible имеет лицензию MIT.
MongoDB Community - это программное обеспечение под лицензией Server Side Public License от MongoDB, Inc. Для получения дополнительной информации смотрите: https://www.mongodb.com/licensing/server-side-public-license
Информация об авторе
Тейлор Фор (https://github.com/trfore)
Связанные роли и плейбуки
Github | Ansible Galaxy |
---|---|
ansible-role-jsvc | trfore.jsvc |
ansible-role-mongodb-install | trfore.mongodb_install |
ansible-role-omada-install | trfore.omada_install |
Ссылки
MongoDB
- https://www.mongodb.com/docs/manual/release-notes/
- https://www.mongodb.com/download-center/community/releases
- https://www.mongodb.com/docs/manual/administration/install-on-linux/
- https://www.mongodb.com/docs/manual/administration/production-notes/
- https://www.mongodb.com/docs/manual/reference/configuration-options/
- https://www.mongodb.com/docs/manual/reference/ulimit/
Install MongoDB Community Edition on RedHat/CentOS and Debian/Ubuntu.
ansible-galaxy install trfore/ansible-role-mongodb-install