trfore.mongodb_install
Rôle Ansible : mongodb_install
Ce rôle installe le métapackage du serveur MongoDB Community, mongodb-org
, via le gestionnaire de paquets de l'OS (par défaut) ou les binaires du serveur via un fichier tar. Il installe par défaut la dernière version de la version 4, vous pouvez installer une version majeure plus récente en définissant mongodb_version: 6.0.16
, voir la section 'Plateformes et Versions Testées' pour une matrice de compatibilité.
Alternativement, vous pouvez installer les binaires du serveur MongoDB - mongo
, mongod
, mongos
, en définissant mongodb_pkg_install: false
et le rôle téléchargera le dernier fichier tar de la version 4 ou une version majeure plus récente en définissant mongodb_version
. Si vous souhaitez installer le binaire depuis votre hôte de contrôle Ansible local, téléchargez le fichier tar approprié, mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
, dans votre répertoire files
et définissez les deux variables suivantes dans votre playbook :
mongodb_tar_src: mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
mongodb_tar_src_remote: false
Voir la section 'Exemples de Playbooks' pour des exemples fonctionnels. Ce rôle ne configure pas le serveur, il utilise les valeurs de configuration par défaut et des réglages ulimit
minimaux recommandés. Il est recommandé de configurer le serveur pour une utilisation en production, pour plus de détails, voir : https://www.mongodb.com/docs/manual/administration/production-notes/
Installer le Rôle
Vous pouvez installer ce rôle avec la CLI Ansible Galaxy :
ansible-galaxy install trfore.mongodb_install
Vous pouvez également l'inclure dans un fichier requirements.yml
et l'installer avec ansible-galaxy install -r requirements.yml
, en utilisant le format :
---
roles:
- trfore.mongodb_install
Plateformes et Versions Testées
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
Exigences
ansible-core>=2.14.0
Dépendances
community.general.yum_versionlock
(pour hôte cible CentOS & RHEL)ansible-galaxy collection install community.general
Variables du Rôle
Variables Communes
Les variables communes sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml
):
Variable | Par défaut | Description | Requis |
---|---|---|---|
mongodb_pkg_install | true |
Booléen, true pour installer MongoDB via le gestionnaire de paquets |
Non |
mongodb_version | 4.4.29 |
Versions stables de MongoDB Community v4.4 , v5 , v6 , v7 |
Non |
mongodb_version_maj | Automatique | Extrait la valeur majeure de mongodb_version |
Automatique |
mongodb_version_maj_minor | Automatique | Extrait les valeurs majeures et mineures de mongodb_version |
Automatique |
Variables d'Installation des Paquets
defaults/main.yml
:
Variable | Par défaut | Description | Requis |
---|---|---|---|
mongodb_gpg_key | URL | Clé GPG de MongoDB | Non |
mongodb_pkg_hold | true |
Booléen, true pour maintenir la version du paquet |
Non |
mongodb_pkg_hold_list | Paquets MongoDB | Liste des paquets MongoDB installés de mongodb-org , v4.4 à v7 |
Non |
Variables d'Installation des Binaires
defaults/main.yml
:
Variable | Par défaut | Description | Requis |
---|---|---|---|
mongodb_tar_src | URL | URL ou chemin relatif, fichier tar binaire MongoDB Community (installation tar) | Non |
mongodb_tar_src_remote | true |
Booléen, true si téléchargement depuis URL (installation tar) |
Non |
mongodb_path_exec | /usr/bin |
PATH, chemin des binaires MongoDB (installation tar) | Non |
Autres Variables Spécifiques à l'OS
vars/debian.yml
:
Variable | Par défaut | Description | Requis |
---|---|---|---|
mongodb_path_db | /var/lib/mongodb |
PATH, dossier de la base de données MongoDB (installation tar) | Non |
mongodb_path_log | /var/log/mongodb |
PATH, dossier de log de MongoDB (installation tar) | Non |
mongodb_dependencies | ["libcurl4","openssl","liblzma5"] |
Paquets requis pour MongoDB (installation tar) | Non |
mongodb_pkg_hold_list | Paquets MongoDB | Liste des paquets MongoDB installés de mongodb-org (installation pkg) |
Non |
vars/redhat.yml
et vars/redhat_mongo_v{4-6}.yml
:
Variable | Par défaut | Description | Requis |
---|---|---|---|
mongodb_path_db | /var/lib/mongo |
PATH, dossier de la base de données MongoDB (installation tar) | Non |
mongodb_path_log | /var/log/mongodb |
PATH, dossier de log de MongoDB (installation tar) | Non |
mongodb_dependencies | ["libcurl-minimal","openssl","xz-libs"] |
Paquets requis pour MongoDB (installation tar) | Non |
mongodb_pkg_hold_list | Paquets MongoDB | Liste des paquets MongoDB installés de mongodb-org (installation pkg) |
Non |
Exemples de Playbooks
- Installation de paquet via le gestionnaire de paquets de la distribution.
- hosts: servers
become: true
roles:
- name: Installer MongoDB
role: trfore.mongodb_install
- hosts: servers
become: true
vars:
mongodb_pkg_install: true
mongodb_version: "6.0.16"
roles:
- name: Installer MongoDB
role: trfore.mongodb_install
- Installation binaire à partir d'un fichier tar.
- hosts: servers
become: true
vars:
mongodb_pkg_install: false
mongodb_version: "6.0.16"
roles:
- name: Installer MongoDB
role: trfore.mongodb_install
- Installation binaire à partir d'un fichier tar, si vous téléchargez manuellement le fichier tar vers votre hôte de contrôle.
- 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: Installer MongoDB
role: trfore.mongodb_install
Licence
Ce rôle Ansible est sous licence MIT.
MongoDB Community est un logiciel sous Licence Publique Côté Serveur de MongoDB, Inc. Pour plus d'informations, voir : https://www.mongodb.com/licensing/server-side-public-license
Informations sur l'Auteur
Taylor Fore (https://github.com/trfore)
Rôles & Playbooks Connexes
Github | Ansible Galaxy |
---|---|
ansible-role-jsvc | trfore.jsvc |
ansible-role-mongodb-install | trfore.mongodb_install |
ansible-role-omada-install | trfore.omada_install |
Références
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.mongodb_install