GNU/Linux >> Linux Esercitazione >  >> Debian

Come utilizzare Ansible per installare e configurare Redis 6 su Debian 11

Redis è un archivio di strutture dati in memoria, utilizzato come database chiave-valore in memoria distribuito, cache e broker di messaggi, con durabilità opzionale. Redis supporta diversi tipi di strutture dati astratte, come stringhe, elenchi, mappe, insiemi, insiemi ordinati, HyperLogLog, bitmap, flussi e indici spaziali.

Ansible è uno strumento open source di fornitura di software, gestione della configurazione e distribuzione di applicazioni che abilita l'infrastruttura come codice. Funziona su molti sistemi simili a Unix e può configurare sia sistemi simili a Unix che Microsoft Windows.

Contenuti correlati

  • Come installare e configurare Redis 6 su Debian 11
  • Come utilizzare Ansible per installare e configurare Redis 6 su Ubuntu 20.04
  • Come installare e configurare Redis 6 su Ubuntu 20.04
  • Come installare e configurare Redis 6 su FreeBSD 13
  • Come installare e configurare Redis 6 su OpenSUSE Leap 15.3
  • Come installare e configurare Redis 6 su Fedora 34

Prerequisiti

Per seguire, assicurati di avere:

  • Un server Debian aggiornato
  • Accesso a Internet
  • Accesso root al server o utente con accesso sudo

Indice dei contenuti

  1. Attività ansible per garantire che il server sia aggiornato
  2. Installazione di alcuni pacchetti comuni
  3. Configurazione del repository Redis 6
  4. Installazione del server Redis 6
  5. Configurazione del server Redis 6
  6. Impostazione dei gestori
  7. L'intero playbook per installare e configurare Redis 6 in Debian 11

1. Attività ansible per garantire che il server sia aggiornato

Prima di procedere, assicuriamoci che il server sia aggiornato utilizzando queste attività:

- name: Update apt repo and cache on all Debian/Ubuntu boxes
  apt:
    update_cache: yes
    force_apt_get: yes
    cache_valid_time: 3600

Dove:

  1. update_cache:sì – Esegui l'equivalente del comando apt-get update su tutti i server
  2. force_apt_get:sì – Non utilizzare il comando aptitude, utilizza invece il comando apt-get su Debian/Ubuntu box
  3. cache_valid_time:3600 – Aggiorna la cache apt se è più vecchia di cache_valid_time. Questa opzione è impostata in secondi. In questi esempi, è impostato su 3600 secondi.

Fare l'aggiornamento

- name: Upgrade all packages on servers
  apt:
    upgrade: dist
    force_apt_get: yes

Dove:

  1. aggiornamento:dist – Esegui l'equivalente del comando "apt-get upgrade" su tutti i server Ubuntu o Debian Linux. In altre parole, aggiorna tutti i pacchetti all'ultima versione.
  2. force_apt_get:sì – Usa apt-get invece di aptitude.

2. Installazione di alcuni pacchetti comuni

Usalo per installare i pacchetti comuni. Il pacchetto gnugpg è necessario per impostare i repository in Debian.

- name: Install required packages
  apt:
    name:
      - gnupg
      - vim
    state: latest

3. Configurazione di Redis 6 Repo

Puoi installare l'ultima versione stabile (versione 6) di Redis dal packages.redis.io ufficiale Archivio APT. Aggiungi il repository a apt indicizzalo, aggiornalo e installa:

- name: Set up Redis 6 repo
  shell: |
    curl https://packages.redis.io/gpg | sudo apt-key add -
    echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

4. Installa il server Redis 6

Ora aggiorna il repository della cache e installa il server redis

- name: Install redis
  apt:
    name: redis-server
    update_cache: yes
  notify:
    - Enable Redis

Qui stiamo usando apt per aggiornare prima la cache con update_cache:yes quindi installare redis-server e infine configurare un gestore per abilitare il redis-server all'avvio.

5. Configurazione del server Redis 6

Successivamente dobbiamo configurare il server in modo che sia pronto per la produzione.

Aggiungi una riga per consentire al server di scrivere su un file pid

- name: Set redis server pid file
  lineinfile:
    path: /etc/redis/redis.conf
    regexp: "^pidfile"
    line: "pidfile /var/run/redis/redis-server.pid"
  notify:
    - Restart Redis

In quanto sopra, stiamo aggiornando il file di configurazione redis per aggiungere la riga pidfile /var/run/redis/redis-server.pid quindi può scrivere un file pid. Stiamo anche configurando un gestore per riavviare il servizio al termine dell'esecuzione del playbook.

Quindi, impostiamo una password per il nostro server redis per aumentare la sicurezza.

- name: Secure redis with a password
  lineinfile:
    dest: /etc/redis/redis.conf
    regexp: '^(# )?requirepass \w*$'
    line: 'requirepass {{ redis_password }}'
    state: present
  notify:
    - Restart Redis

In quanto sopra, stiamo aggiornando il file di configurazione redis per aggiungere la riga requirepass {{ redis_password }} quindi può impostare la password come valore impostato. Stiamo anche configurando un gestore per riavviare il servizio al termine dell'esecuzione del playbook.

Infine, associamo il servizio a 0.0.0.0 quindi è accessibile esternamente utilizzando bind 0.0.0.0

- name: Bind redis to 0.0.0.0
  lineinfile:
    dest: /etc/redis/redis.conf
    regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
    line: 'bind 0.0.0.0'
    state: present
  notify:
    - Restart Redis

6. Configurazione dei gestori

Impostiamo i gestori sopra elencati. I gestori sono come le normali attività in un playbook Ansible, ma vengono eseguiti solo se l'attività contiene una direttiva "notifica" . Indica anche che ha cambiato qualcosa.

handlers:
  - name: Restart Redis
    systemd:
      name: redis-server
      state: restarted

  - name: Start Redis
    systemd:
      name: redis-server
      state: started

  - name: Stop Redis
    systemd:
      name: redis-server
      state: stopped

  - name: Enable Redis
    systemd:
      name: redis-server
      enabled: yes

Tali gestori verranno eseguiti dopo le attività per riavviare e abilitare il servizio.

7. L'intero playbook per installare e configurare Redis 6 in Debian 11

Questo è il playbook finale. Ho il file salvato come setup-redis-debian.yaml

---
- name: Install and set up Redis 6 in Debian 11
  hosts: debiansrv
  become: yes
  gather_facts: False
  vars:
    redis_password: j2GfJuLFR8
  tasks:
    - name: Update apt repo and cache on all Debian/Ubuntu boxes
      apt:
        update_cache: yes
        force_apt_get: yes
        cache_valid_time: 3600

    - name: Upgrade all packages on servers
      apt:
        upgrade: dist
        force_apt_get: yes

    - name: Install required packages
      apt:
        name:
          - gnupg
          - vim
        state: latest

    - name: Set up Redis 6 repo
      shell: |
        curl https://packages.redis.io/gpg | sudo apt-key add -
        echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

    - name: Install redis
      apt:
        name: redis-server
        update_cache: yes
      notify:
        - Enable Redis

    - name: Set redis server pid file
      lineinfile:
        path: /etc/redis/redis.conf
        regexp: "^pidfile"
        line: "pidfile /var/run/redis/redis-server.pid"
      notify:
        - Restart Redis

    - name: Secure redis with a password
      lineinfile:
        dest: /etc/redis/redis.conf
        regexp: '^(# )?requirepass \w*$'
        line: 'requirepass {{ redis_password }}'
        state: present
      notify:
        - Restart Redis

    - name: Bind redis to 0.0.0.0
      lineinfile:
        dest: /etc/redis/redis.conf
        regexp: '^bind \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b$'
        line: 'bind 0.0.0.0'
        state: present
      notify:
        - Restart Redis

  handlers:
    - name: Restart Redis
      systemd:
        name: redis-server
        state: restarted

    - name: Start Redis
      systemd:
        name: redis-server
        state: started

    - name: Stop Redis
      systemd:
        name: redis-server
        state: stopped

    - name: Enable Redis
      systemd:
        name: redis-server
        enabled: yes

8. Creazione del file hosts

Crea un hosts.yaml file con questo contenuto. Assicurati di poterti connettere al server aggiunto qui.

all:
  hosts:
    debiansrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: admin

8. Esecuzione del playbook

Hai bisogno di Ansible installato localmente. Per installare Ansible, puoi utilizzare il gestore pacchetti del sistema operativo o usare pip. Usa questo comando pip per installare ansible:

pip install ansible

Per eseguire il playbook usa questo comando:

ansible-playbook -i hosts.yaml setup-redis-debian.yaml -vv

Conclusione

In questa guida abbiamo imparato come usare ansible per installare e configurare Redis 6 in Debian 11.


Debian
  1. Come installare e utilizzare Ansible su Debian 11

  2. Come installare e configurare Redis 6.0 su Debian 11

  3. Come installare e configurare la finestra mobile su Debian 11

  4. Come installare e configurare Mariadb 10 in Debian 11

  5. Come installare e configurare MongoDB 5 su Debian 11

Come installare e configurare Monit su Debian 9

Come configurare e utilizzare Git su Debian

Come installare e utilizzare FFmpeg su Debian 11

Come installare e utilizzare Ansible su Debian 10

Come installare e configurare Git in Debian 11

Come installare e configurare Apache su Debian 11?