trfore.mongodb_install

Ansible Rolle: mongodb_install

CI CD

Diese Rolle installiert das MongoDB Community Edition-Server-Metapaket, mongodb-org, über den Paketmanager des Betriebssystems (Standard) oder die Server-Binärdateien über eine Tar-Datei. Standardmäßig wird die neueste Version ab Version 4 installiert. Sie können eine neuere Hauptversion installieren, indem Sie mongodb_version: 6.0.16 festlegen. Weitere Informationen finden Sie im Abschnitt 'Getestete Plattformen und Versionen'.

Alternativ können Sie die MongoDB-Server-Binärdateien - mongo, mongod, mongos - installieren, indem Sie mongodb_pkg_install: false festlegen. Die Rolle lädt dann die neueste Tar-Datei ab Version 4 oder eine neuere Hauptversion herunter, wenn Sie mongodb_version festlegen. Falls Sie die Binärdatei von Ihrem lokalen Ansible-Management-Host installieren möchten, laden Sie die entsprechende Tar-Datei, mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz, in Ihr files-Verzeichnis herunter und setzen Sie die folgenden beiden Variablen in Ihrem Playbook:

  • mongodb_tar_src: mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
  • mongodb_tar_src_remote: false

Siehe den Abschnitt 'Beispiel-Playbooks' für funktionierende Beispiele. Diese Rolle konfiguriert den Server nicht, sie verwendet die Standardkonfigurationswerte und minimale empfohlene ulimit-Einstellungen. Es wird empfohlen, den Server für die Produktion zu konfigurieren. Details siehe: https://www.mongodb.com/docs/manual/administration/production-notes/

Rolle installieren

Sie können diese Rolle mit dem Ansible Galaxy CLI installieren:

ansible-galaxy install trfore.mongodb_install

Sie können sie auch in eine requirements.yml-Datei einfügen und mit ansible-galaxy install -r requirements.yml installieren, im folgenden Format:

---
roles:
  - trfore.mongodb_install

Getestete Plattformen und Versionen

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

Anforderungen

  • ansible-core>=2.14.0

Abhängigkeiten

  • community.general.yum_versionlock (für CentOS & RHEL-Zielhost)

    ansible-galaxy collection install community.general
    

Rollenvariablen

Allgemeine Variablen

Allgemeine Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml):

Variable Standard Beschreibung Erforderlich
mongodb_pkg_install true Boolean, true, um MongoDB über das Paketmanager zu installieren Nein
mongodb_version 4.4.29 Stabile Versionen der MongoDB Community v4.4, v5, v6, v7 Nein
mongodb_version_maj Automatisch Extrahiert den Hauptwert aus mongodb_version Automatisch
mongodb_version_maj_minor Automatisch Extrahiert Haupt- und Nebenwerte aus mongodb_version Automatisch

Variablen für Paketinstallationen

defaults/main.yml:

Variable Standard Beschreibung Erforderlich
mongodb_gpg_key URL MongoDB GPG Schlüssel Nein
mongodb_pkg_hold true Boolean, true, um die Paketversion festzuhalten Nein
mongodb_pkg_hold_list MongoDB-Pakete Liste der von mongodb-org installierten MongoDB-Pakete, v4.4 bis v7 Nein

Variablen für die Binärinstallation

defaults/main.yml:

Variable Standard Beschreibung Erforderlich
mongodb_tar_src URL URL oder relative PATH, MongoDB Community Binär-Tar-Datei (Tar-Installation) Nein
mongodb_tar_src_remote true Boolean, true, wenn vom URL heruntergeladen wird (Tar-Installation) Nein
mongodb_path_exec /usr/bin PATH, MongoDB-Binärpfad (Tar-Installation) Nein

Andere betriebssystemspezifische Variablen

vars/debian.yml:

Variable Standard Beschreibung Erforderlich
mongodb_path_db /var/lib/mongodb PATH, MongoDB-Datenbankordner (Tar-Installation) Nein
mongodb_path_log /var/log/mongodb PATH, MongoDB-Logordner (Tar-Installation) Nein
mongodb_dependencies ["libcurl4","openssl","liblzma5"] Erforderliche Pakete für MongoDB (Tar-Installation) Nein
mongodb_pkg_hold_list MongoDB-Pakete Liste der von mongodb-org installierten MongoDB-Pakete (Paketinstallation) Nein

vars/redhat.yml und vars/redhat_mongo_v{4-6}.yml:

Variable Standard Beschreibung Erforderlich
mongodb_path_db /var/lib/mongo PATH, MongoDB-Datenbankordner (Tar-Installation) Nein
mongodb_path_log /var/log/mongodb PATH, MongoDB-Logordner (Tar-Installation) Nein
mongodb_dependencies ["libcurl-minimal","openssl","xz-libs"] Erforderliche Pakete für MongoDB (Tar-Installation) Nein
mongodb_pkg_hold_list MongoDB-Pakete Liste der von mongodb-org installierten MongoDB-Pakete (Paketinstallation) Nein

Beispiel-Playbooks

  • Paketinstallation über den Paketmanager der Distribution.
- hosts: servers
  become: true
  roles:
    - name: Installiere MongoDB
      role: trfore.mongodb_install
- hosts: servers
  become: true
  vars:
    mongodb_pkg_install: true
    mongodb_version: "6.0.16"
  roles:
    - name: Installiere MongoDB
      role: trfore.mongodb_install
  • Binärinstallation von der Tar-Datei.
- hosts: servers
  become: true
  vars:
    mongodb_pkg_install: false
    mongodb_version: "6.0.16"
  roles:
    - name: Installiere MongoDB
      role: trfore.mongodb_install
  • Binärinstallation von der Tar-Datei, wenn Sie das Tar-Archiv manuell auf Ihrem Kontrollhost heruntergeladen haben.
- 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: Installiere MongoDB
      role: trfore.mongodb_install

Lizenz

Diese Ansible-Rolle ist MIT.

MongoDB Community ist Software, die unter der Server Side Public License von MongoDB, Inc. steht. Für weitere Informationen siehe: https://www.mongodb.com/licensing/server-side-public-license

Autorinformationen

Taylor Fore (https://github.com/trfore)

Verwandte Rollen & Playbooks

Github Ansible Galaxy
ansible-role-jsvc trfore.jsvc
ansible-role-mongodb-install trfore.mongodb_install
ansible-role-omada-install trfore.omada_install

Referenzen

MongoDB

Über das Projekt

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

Installieren
ansible-galaxy install trfore.mongodb_install
GitHub Repository
Lizenz
mit
Downloads
946
Besitzer