davidalger.multi_redis

Ansible Rolle: Multi-Redis

Build Status

Installiert mehrere Instanzen von Redis 5 aus den IUS Community Project RPMs auf RHEL / CentOS 7 und aus AppStreams auf RHEL / CentOS 8. Wenn archivierte Versionen von Redis benötigt werden (wie Redis 3.0, 3.1 oder 3.2), kann das ius-archive Repository aktiviert werden, um die Installation älterer Versionen auf EL 7 zu erleichtern (Versionen älter als 5.0 werden auf EL 8 nicht unterstützt).

Aktuell installiert diese Rolle Redis vordefiniert mit Standardeinstellungen, die für Magento optimiert sind. Einige dieser Standardwerte können anders sein, wenn diese Rolle verwendet wird, um Redis in einer Nicht-Magento-Umgebung zu implementieren. Siehe defaults/main.yml für Details.

Anforderungen

Keine.

Rollenvariablen

redis_version: 5

Auf EL 7 kann jede von IUS RPMs unterstützte Redis-Version angegeben werden: 30, 32 usw. Für EL 8 werden nur neuere Versionen wie '5' (und später, sobald sie als zusätzliche Modulströme veröffentlicht werden) unterstützt.

Siehe defaults/main.yml für die vollständige Liste der Variablen, die verfügbar sind, um die Redis-Dienste anzupassen.

Abhängigkeiten

  • davidalger.repo_ius
  • davidalger.selinux

Beispiel Playbook

  • Produktion mit dreifacher Redis-Bereitstellung:

      - { role: redis, tags: redis, redis_instance: { name: obj, port: 6379 }}
      - { role: redis, tags: redis, redis_instance: { name: fpc, port: 6381 }}
      - { role: redis, tags: redis, redis_instance: { name: ses, port: 6380, save: yes }}
    
  • Staging mit dreifacher Redis-Bereitstellung:

      - { role: redis, tags: redis, redis_instance: { name: stage-obj, port: 6389 }}
      - { role: redis, tags: redis, redis_instance: { name: stage-fpc, port: 6391 }}
      - { role: redis, tags: redis, redis_instance: { name: stage-ses, port: 6390, save: yes }}
    
  • Angepasste Instanzkonfigurationen

    Überschreiben Sie die Standardwerte und geben Sie die maxmemory-policy in der Instanzkonfiguration an, anstatt in der Basiskonfiguration:

      # Schlüssel/Wert-Hash von Einstellungen für /etc/redis-{{ redis_instance.name }}.conf
      redis_instance_config:
        - maxmemory-policy: "volatile-lru"
    
      # Schlüssel/Wert-Hash von Einstellungen für /etc/redis-base.conf
      redis_config:
        - daemonize: "yes"
        - timeout: "0"
        - loglevel: "notice"
        - databases: "2"
        - rdbcompression: "no"
        - dbfilename: "dump.rdb"
        - appendonly: "no"
        - appendfsync: "everysec"
        - no-appendfsync-on-rewrite: "no"
        - slowlog-log-slower-than: "10000"
        - slowlog-max-len: "1024"
        - list-max-ziplist-entries: "512"
        - list-max-ziplist-value: "64"
        - set-max-intset-entries: "512"
        - zset-max-ziplist-entries: "128"
        - zset-max-ziplist-value: "64"
        - activerehashing: "yes"
        - slave-serve-stale-data: "yes"
        - auto-aof-rewrite-percentage: "100"
        - auto-aof-rewrite-min-size: "64mb"
        - tcp-backlog: "511"
        - tcp-keepalive: "0"
        - repl-disable-tcp-nodelay: "no"
    

    Wenn Sie die Rolle aufrufen, geben Sie den Instanzkonfigurationswert an, wo er unterschiedlich sein muss

      - { role: redis, tags: redis, redis_instance: { name: obj, port: 6379 }, redis_maxmemory: 8gb, redis_instance_config: [{maxmemory-policy: allkeys-lru}] }
      - { role: redis, tags: redis, redis_instance: { name: fpc, port: 6381 }, redis_maxmemory: 8gb, redis_instance_config: [{maxmemory-policy: allkeys-lru}] }
      - { role: redis, tags: redis, redis_instance: { name: ses, port: 6380, save: yes }, redis_maxmemory: 8gb}
    

Lizenz

Diese Arbeit ist unter der MIT-Lizenz lizenziert. Siehe Lizenzdatei für Details.

Autor Informationen

Diese Rolle wurde 2017 von David Alger mit Beiträgen von Matt Johnson erstellt.

Über das Projekt

Multi Redis Deployment on RHEL / CentOS Linux

Installieren
ansible-galaxy install davidalger.multi_redis
GitHub Repository
Lizenz
mit
Downloads
560
Besitzer
Principal SRE, Software Engineer, Infrastructure, DevOps, Magento Master, Cloud Architect, AWS, GCP, Terraform, Ansible, Kubernetes