almaops.ct_redis

Rol de Ansible: Contenedor Redis

Este rol crea un contenedor de Redis en el host de destino.

Requisitos

El host de destino debe tener el motor Docker instalado y el módulo Docker PIP.

Variables del rol

Por favor, consulta defaults/main.yml para la lista completa de variables disponibles.

Configuración de red

Variable Predeterminado Descripción
ct_redis_enable_ports true Indicador que controla si el puerto predeterminado de Redis está proxied
ct_redis_bind_addr "127.0.0.1" Dirección IP a la que se vincula el contenedor de Redis
ct_redis_bind_port "6379" Puerto al que se vincula el contenedor de Redis
ct_redis_bind_ct_port "6379" Puerto al que se vincula el servidor de Redis
ct_redis_ct_ports_default [] Puerto predeterminado de Redis proxied al contenedor
Si {{ ct_redis_enable_ports }} es false, esta lista está vacía
Si es true, la lista se establece en ["{{ ct_redis_bind_addr }}:{{ ct_redis_bind_port }}:{{ ct_redis_bind_ct_port }}"]
ct_redis_ct_ports_extra [] Puertos arbitrarios definidos por el usuario que se promedian al contenedor
ct_redis_ct_ports {{ ct_redis_ct_ports_default + ct_redis_ct_ports_extra }} Conjunto resultante de puertos proxied al contenedor
se pasa al parámetro ports del módulo docker_container

Configuración de volumenes

Variable Predeterminado Descripción
ct_redis_path_config_base /etc/ct_redis Directorio donde se colocan los archivos de configuración personalizados
ct_redis_path_config_file {{ ct_redis_path_config_base }}/{{ ct_redis_ct_name }}.conf Nombre del archivo de configuración, por defecto es el nombre del contenedor
ct_redis_path_ct_config_file /usr/local/etc/redis/redis.conf Ruta al archivo de configuración personalizado dentro del contenedor
ct_redis_path_data_base /srv/ct_redis Directorio base para volúmenes de datos
ct_redis_path_data_volume {{ ct_redis_path_data_base }}/{{ ct_redis_ct_name }} Directorio de datos montado en el contenedor
ct_redis_path_ct_data /data Directorio de datos dentro del contenedor
ct_redis_ct_volumes_data ["{{ ct_redis_path_data_volume }}:{{ ct_redis_path_ct_data }}"] Montaje del directorio de datos
ct_redis_ct_volumes_config [] Montaje de la configuración personalizada,
si {{ ct_redis_enable_custom_config }} es true,
el valor se establece en ["{{ ct_redis_path_config_file }}:{{ ct_redis_path_ct_config_file }}:ro"]
ct_redis_ct_volumes_extra [] Montajes arbitrarios definidos por el usuario al contenedor,
en formato ["/source:/dest"]
ct_redis_ct_volumes {{ ct_redis_ct_volumes_data + ct_redis_ct_volumes_config + ct_redis_ct_volumes_extra }} Conjunto resultante de montajes,
pasado al parámetro volumes del módulo docker_container

Configuración personalizada

El rol proporciona un indicador simple para habilitar un archivo de configuración personalizado para el contenedor de Redis.

Variable Predeterminado Descripción
ct_redis_enable_custom_config false Indicador que controla el montaje del archivo de configuración personalizado en el contenedor
Si el valor se establece en true, las variables {{ ct_redis_ct_volumes_config }} y {{ ct_redis_ct_command_custom_config }} se sobrescriben desde vars, una vez habilitado el indicador, el archivo de configuración de Redis se crea a partir de una plantilla en el host de destino y se monta en el contenedor, la ruta al archivo de configuración se agrega al CMD del contenedor
ct_redis_cfg_extra {} Pares clave-valor de parámetros de configuración de Redis para la plantilla personalizada predeterminada

Comando

Variable Predeterminado Descripción
ct_redis_ct_command_custom_config [] Ruta al archivo de configuración personalizado dentro del contenedor que se agrega al CMD del contenedor,
si {{ ct_redis_enable_custom_config }} es verdadero, el valor se establece en ["{{ ct_redis_path_ct_config_file }}"]
ct_redis_ct_command_options [] Opciones arbitrarias definidas por el usuario que se pasan al ejecutable redis-server
ct_redis_ct_command {{ [\"redis-server\"] + ct_redis_ct_command_custom_config + ct_redis_ct_command_options }} Comando resultante pasado al contenedor como parámetro command del módulo docker_container

Dependencias

Ninguna.

Ejemplo de playbook

# Crea un contenedor de Redis vinculado a una dirección IP y puerto personalizados
- hosts:
    - redis_server
  become: true
  roles:
    - role: almaops.ct_redis
      ct_redis_bind_addr: "192.168.0.10"
      ct_redis_bind_port: "26379"

# Crea un contenedor de Redis con configuración personalizada desde tu propia plantilla redis.conf
- hosts:
    - redis_server
  become: true
  roles:
    - role: almaops.ct_redis
      ct_redis_enable_custom_config: true
      ct_redis_template_config: "/path/to/custom/redis.conf.j2"

Licencia

MIT

Contribuyentes

Valentin Gostev.

Acerca del proyecto

Ansible role deploys Redis container

Instalar
ansible-galaxy install almaops.ct_redis
Licencia
mit
Descargas
489
Propietario
Premium IT Consulting