trfore.mongodb_install

Ansible Rola: mongodb_install

CI CD

Ta rola instaluję serwer MongoDB Community Edition metapakiet mongodb-org za pomocą menedżera pakietów systemu operacyjnego (domyślnie) lub binariów serwera w pliku tar. Domyślnie instaluje najowszą wersję od wersji 4, można zainstalować nowszą wersję główną ustawiając mongodb_version: 6.0.16, zobacz sekcję 'Testowane platformy i wersje' dla macierzy kompatybilności.

Alternatywnie, można zainstalować binaria serwera MongoDB - mongo, mongod, mongos, ustawiając mongodb_pkg_install: false, a rola pobierze najnowszy plik tar od wersji 4 lub nowszą wersję główną poprzez ustawienie mongodb_version. Jeśli chcesz zainstalować binarię z lokalnego hosta kontrolnego Ansible, pobierz odpowiedni plik tar, mongodb-linux-x86_64-{DYSTRYBUCJA}-{WERSJA}.tgz, do swojego folderu files i ustaw następujące dwie zmienne w swoim playbooku:

  • mongodb_tar_src: mongodb-linux-x86_64-{DYSTRYBUCJA}-{WERSJA}.tgz
  • mongodb_tar_src_remote: false

Zobacz sekcję 'Przykładowe Playbooki' dla działających przykładów. Ta rola nie konfiguruje serwera, korzysta z domyślnych wartości konfiguracyjnych i minimalnych zalecanych ustawień ulimit. Zaleca się skonfigurowanie serwera do użytku produkcyjnego, szczegóły można znaleźć tutaj: https://www.mongodb.com/docs/manual/administration/production-notes/

Instalacja Roli

Możesz zainstalować tę rolę za pomocą Ansible Galaxy CLI:

ansible-galaxy install trfore.mongodb_install

Możesz ją również uwzględnić w pliku requirements.yml i zainstalować za pomocą ansible-galaxy install -r requirements.yml, używając formatu:

---
roles:
  - trfore.mongodb_install

Testowane platformy i wersje

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

Wymagania

  • ansible-core>=2.14.0

Zależności

  • community.general.yum_versionlock (dla hosta docelowego CentOS i RHEL)

    ansible-galaxy collection install community.general
    

Zmienne Roli

Zmienne wspólne

Wspólne zmienne są wymienione poniżej, wraz z domyślnymi wartościami (zobacz defaults/main.yml):

Zmienna Wartość domyślna Opis Wymagana
mongodb_pkg_install true Boolean, true do instalacji MongoDB za pośrednictwem menedżera pakietów Nie
mongodb_version 4.4.29 Stabilne wersje MongoDB Community v4.4, v5, v6, v7 Nie
mongodb_version_maj Automatycznie Wyciąga wartość główną z mongodb_version Automatycznie
mongodb_version_maj_minor Automatycznie Wyciąga wartości główną i niepełną z mongodb_version Automatycznie

Zmienne Instalacji Pakietów

defaults/main.yml:

Zmienna Wartość domyślna Opis Wymagana
mongodb_gpg_key URL Klucz GPG MongoDB Nie
mongodb_pkg_hold true Boolean, true aby zablokować wersję pakietu Nie
mongodb_pkg_hold_list Pakiety MongoDB Lista pakietów MongoDB zainstalowanych z mongodb-org, od v4.4 do v7 Nie

Zmienne Instalacji Binariów

defaults/main.yml:

Zmienna Wartość domyślna Opis Wymagana
mongodb_tar_src URL URL lub względna ŚCIEŻKA, plik tar binarny MongoDB Community Nie
mongodb_tar_src_remote true Boolean, true jeśli pobierasz z URL (instalacja tar) Nie
mongodb_path_exec /usr/bin ŚCIEŻKA, ścieżka binarna MongoDB (instalacja tar) Nie

Inne Zmienne Specyficzne dla OS

vars/debian.yml:

Zmienna Wartość domyślna Opis Wymagana
mongodb_path_db /var/lib/mongodb ŚCIEŻKA, folder bazy danych MongoDB (instalacja tar) Nie
mongodb_path_log /var/log/mongodb ŚCIEŻKA, folder logów MongoDB (instalacja tar) Nie
mongodb_dependencies ["libcurl4","openssl","liblzma5"] Wymagane pakiety dla MongoDB (instalacja tar) Nie
mongodb_pkg_hold_list Pakiety MongoDB Lista pakietów MongoDB zainstalowanych z mongodb-org (instalacja pakietów) Nie

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

Zmienna Wartość domyślna Opis Wymagana
mongodb_path_db /var/lib/mongo ŚCIEŻKA, folder bazy danych MongoDB (instalacja tar) Nie
mongodb_path_log /var/log/mongodb ŚCIEŻKA, folder logów MongoDB (instalacja tar) Nie
mongodb_dependencies ["libcurl-minimal","openssl","xz-libs"] Wymagane pakiety dla MongoDB (instalacja tar) Nie
mongodb_pkg_hold_list Pakiety MongoDB Lista pakietów MongoDB zainstalowanych z mongodb-org (instalacja pakietów) Nie

Przykładowe Playbooki

  • Instalacja pakietów za pośrednictwem menedżera pakietów dystrybucji.
- hosts: servers
  become: true
  roles:
    - name: Zainstaluj MongoDB
      role: trfore.mongodb_install
- hosts: servers
  become: true
  vars:
    mongodb_pkg_install: true
    mongodb_version: "6.0.16"
  roles:
    - name: Zainstaluj MongoDB
      role: trfore.mongodb_install
  • Instalacja binariów z pliku tar.
- hosts: servers
  become: true
  vars:
    mongodb_pkg_install: false
    mongodb_version: "6.0.16"
  roles:
    - name: Zainstaluj MongoDB
      role: trfore.mongodb_install
  • Instalacja binariów z pliku tar, jeśli pobrałeś plik tar ręcznie na swój kontrolny host.
- 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: Zainstaluj MongoDB
      role: trfore.mongodb_install

Licencja

Ta rola Ansible jest na licencji MIT.

MongoDB Community jest oprogramowaniem objętym licencją Server Side Public License firmy MongoDB, Inc. Aby uzyskać dodatkowe informacje, zobacz: https://www.mongodb.com/licensing/server-side-public-license

Informacje o autorze

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

Powiązane Role i Playbooki

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

Odniesienia

MongoDB

O projekcie

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

Zainstaluj
ansible-galaxy install trfore.mongodb_install
Licencja
mit
Pobrania
946
Właściciel