trfore.mongodb_install
Rol de Ansible: mongodb_install
Este rol instala el metapaquete del servidor de la edición comunitaria de MongoDB, mongodb-org
, a través del gestor de paquetes del sistema operativo (por defecto) o los binarios del servidor a través de un archivo tar. Por defecto, instala la última versión a partir de la 4, puedes instalar una versión mayor más reciente configurando mongodb_version: 6.0.16
, consulta la sección 'Plataformas y Versiones Probadas' para una matriz de compatibilidad.
Alternativamente, puedes instalar los binarios del servidor de MongoDB - mongo
, mongod
, mongos
, configurando mongodb_pkg_install: false
y el rol descargará el último tarball a partir de la versión 4 o una versión mayor más reciente configurando mongodb_version
. Si deseas instalar el binario desde tu host de control de Ansible local, descarga el archivo tar apropiado, mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
, en tu directorio files
y establece las siguientes dos variables en tu playbook:
mongodb_tar_src: mongodb-linux-x86_64-{DISTRO}-{VERSION}.tgz
mongodb_tar_src_remote: false
Consulta la sección 'Ejemplos de Playbooks' para ejemplos funcionales. Este rol no configura el servidor, utiliza los valores de configuración predeterminados y ajustes mínimos recomendados de ulimit
. Se recomienda configurar el servidor para su uso en producción, para más detalles consulta: https://www.mongodb.com/docs/manual/administration/production-notes/
Instalar el Rol
Puedes instalar este rol con la CLI de Ansible Galaxy:
ansible-galaxy install trfore.mongodb_install
También puedes incluirlo en un archivo requirements.yml
y instalarlo con ansible-galaxy install -r requirements.yml
, usando el formato:
---
roles:
- trfore.mongodb_install
Plataformas y Versiones Probadas
MongoDB Community 7.0.12
- CentOS Stream 8 y 9
- Debian 11 y 12
- Ubuntu 20.04 y 22.04
MongoDB Community 6.0.16
- CentOS Stream 8 y 9
- Debian 10 y 11
- Ubuntu 20.04 y 22.04
MongoDB Community 5.0.28
- CentOS Stream 8
- Debian 10 y 11
- Ubuntu 20.04
MongoDB Community 4.4.29
- CentOS Stream 8
- Debian 10
- Ubuntu 20.04
Requisitos
ansible-core>=2.14.0
Dependencias
community.general.yum_versionlock
(para el host objetivo de CentOS y RHEL)ansible-galaxy collection install community.general
Variables del Rol
Variables Comunes
Las variables comunes se enumera a continuación, junto con sus valores predeterminados (ver defaults/main.yml
):
Variable | Predeterminado | Descripción | Requerido |
---|---|---|---|
mongodb_pkg_install | true |
Booleano, true para instalar MongoDB a través del gestor de paquetes |
No |
mongodb_version | 4.4.29 |
Lanzamientos estables de MongoDB Community v4.4 , v5 , v6 , v7 |
No |
mongodb_version_maj | Automático | Extrae el valor mayor de mongodb_version |
Automático |
mongodb_version_maj_minor | Automático | Extrae los valores mayor y menor de mongodb_version |
Automático |
Variables de Instalación de Paquetes
defaults/main.yml
:
Variable | Predeterminado | Descripción | Requerido |
---|---|---|---|
mongodb_gpg_key | URL | Clave GPG de MongoDB | No |
mongodb_pkg_hold | true |
Booleano, true para mantener la versión del paquete |
No |
mongodb_pkg_hold_list | Paquetes de MongoDB | Lista de paquetes de MongoDB instalados desde mongodb-org , v4.4 a v7 |
No |
Variables de Instalación de Binarios
defaults/main.yml
:
Variable | Predeterminado | Descripción | Requerido |
---|---|---|---|
mongodb_tar_src | URL | URL o ruta relativa, archivo tar de binario de MongoDB Community (instalación tar) | No |
mongodb_tar_src_remote | true |
Booleano, true si se descarga desde URL (instalación tar) |
No |
mongodb_path_exec | /usr/bin |
PATH, ruta del binario de MongoDB (instalación tar) | No |
Otras Variables Específicas del SO
vars/debian.yml
:
Variable | Predeterminado | Descripción | Requerido |
---|---|---|---|
mongodb_path_db | /var/lib/mongodb |
PATH, carpeta de base de datos de MongoDB (instalación tar) | No |
mongodb_path_log | /var/log/mongodb |
PATH, carpeta de logs de MongoDB (instalación tar) | No |
mongodb_dependencies | ["libcurl4","openssl","liblzma5"] |
Paquetes requeridos para MongoDB (instalación tar) | No |
mongodb_pkg_hold_list | Paquetes de MongoDB | Lista de paquetes de MongoDB instalados desde mongodb-org (instalación de paquete) |
No |
vars/redhat.yml
y vars/redhat_mongo_v{4-6}.yml
:
Variable | Predeterminado | Descripción | Requerido |
---|---|---|---|
mongodb_path_db | /var/lib/mongo |
PATH, carpeta de base de datos de MongoDB (instalación tar) | No |
mongodb_path_log | /var/log/mongodb |
PATH, carpeta de logs de MongoDB (instalación tar) | No |
mongodb_dependencies | ["libcurl-minimal","openssl","xz-libs"] |
Paquetes requeridos para MongoDB (instalación tar) | No |
mongodb_pkg_hold_list | Paquetes de MongoDB | Lista de paquetes de MongoDB instalados desde mongodb-org (instalación de paquete) |
No |
Ejemplos de Playbooks
- Instalación de paquete a través del gestor de paquetes de la distribución.
- hosts: servers
become: true
roles:
- name: Instalar MongoDB
role: trfore.mongodb_install
- hosts: servers
become: true
vars:
mongodb_pkg_install: true
mongodb_version: "6.0.16"
roles:
- name: Instalar MongoDB
role: trfore.mongodb_install
- Instalación binaria desde un archivo tar.
- hosts: servers
become: true
vars:
mongodb_pkg_install: false
mongodb_version: "6.0.16"
roles:
- name: Instalar MongoDB
role: trfore.mongodb_install
- Instalación binaria desde un archivo tar, si descargas manualmente el tarball a tu host de control.
- 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: Instalar MongoDB
role: trfore.mongodb_install
Licencia
Este rol de Ansible es MIT.
MongoDB Community es un software bajo la Licencia Pública del Lado del Servidor de MongoDB, Inc. Para información adicional, consulta: https://www.mongodb.com/licensing/server-side-public-license
Información del Autor
Taylor Fore (https://github.com/trfore)
Roles y Playbooks Relacionados
Github | Ansible Galaxy |
---|---|
ansible-role-jsvc | trfore.jsvc |
ansible-role-mongodb-install | trfore.mongodb_install |
ansible-role-omada-install | trfore.omada_install |
Referencias
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