trfore.mongodb_install

Rôle Ansible : mongodb_install

CI CD

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

À propos du projet

Install MongoDB Community Edition on RedHat/CentOS and Debian/Ubuntu.

Installer
ansible-galaxy install trfore.mongodb_install
Licence
mit
Téléchargements
946
Propriétaire