trfore.mongodb_install
Ansible Rola: mongodb_install
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
- 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