GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come utilizzare Ansible per installare e configurare Redis 6 su Ubuntu 20.04

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

  • Utilizzare Ansible per installare e configurare Redis 6 su Debian 11
  • 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 Ubuntu 20.04 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 Ubuntu 20.04

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 configurare i repository in Ubuntu.

- 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 Ubuntu 20.04

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

---
- name: Install and set up Redis 6 in Ubuntu 20.04
  hosts: ubuntusrv
  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: 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
        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:
    ubuntusrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: ubuntu

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-ubuntu.yaml -vv

Conclusione

In questa guida, abbiamo imparato come utilizzare ansible per installare e configurare Redis 6 in Ubuntu 20.04.


Ubuntu
  1. Come installare e configurare Ansible su Ubuntu 18.04 LTS

  2. Come installare e configurare il server DHCP su Ubuntu 20.04

  3. Come installare e configurare il server Redis in Ubuntu

  4. Come installare e configurare Redis 6 su Ubuntu 20.04

  5. Utilizzo di Ansible per installare e configurare Elasticsearch su Ubuntu 20.04

Come installare e configurare Redis in Ubuntu 20.04

Come installare e configurare il server LAMP su Ubuntu

Come installare Ansible su Ubuntu 20.04

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare VNC su Ubuntu Server 20.04

Come installare e configurare Ansible su Ubuntu