trfore.mongodb_install

Rol de Ansible: mongodb_install

CI CD

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

Acerca del proyecto

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

Instalar
ansible-galaxy install trfore.mongodb_install
Licencia
mit
Descargas
946
Propietario