GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment utiliser Ansible pour installer et configurer Redis 6 sur Ubuntu 20.04

Redis est un magasin de structure de données en mémoire, utilisé comme base de données clé-valeur distribuée en mémoire, cache et courtier de messages, avec une durabilité facultative. Redis prend en charge différents types de structures de données abstraites, telles que les chaînes, les listes, les cartes, les ensembles, les ensembles triés, les HyperLogLogs, les bitmaps, les flux et les index spatiaux.

Ansible est un outil de provisionnement de logiciels open source, de gestion de la configuration et de déploiement d'applications permettant l'infrastructure en tant que code. Il fonctionne sur de nombreux systèmes de type Unix et peut configurer à la fois des systèmes de type Unix et Microsoft Windows.

Contenu associé

  • Utiliser Ansible pour installer et configurer Redis 6 sur Debian 11
  • Comment installer et configurer Redis 6 sur Ubuntu 20.04
  • Comment installer et configurer Redis 6 sur FreeBSD 13
  • Comment installer et configurer Redis 6 sur OpenSUSE Leap 15.3
  • Comment installer et configurer Redis 6 sur Fedora 34

Prérequis

Pour suivre, assurez-vous d'avoir :

  • Un serveur Ubuntu 20.04 mis à jour
  • Accès à Internet
  • Accès root au serveur ou utilisateur avec accès sudo

Table des matières

  1. Tâches Ansible pour s'assurer que le serveur est à jour
  2. Installation de certains packages courants
  3. Configuration du référentiel Redis 6
  4. Installation du serveur Redis 6
  5. Configuration du serveur Redis 6
  6. Configuration des gestionnaires
  7. Tout le playbook pour installer et configurer Redis 6 dans Ubuntu 20.04

1. Tâches ansibles pour s'assurer que le serveur est à jour

Avant de continuer, assurons-nous que le serveur est à jour en utilisant ces tâches :

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

Où :

  1. update_cache :oui – Exécutez l'équivalent de la commande apt-get update sur tous les serveurs
  2. force_apt_get :oui – N'utilisez pas la commande aptitude, utilisez plutôt la commande apt-get sur les boîtes Debian/Ubuntu
  3. cache_valid_time :3600 – Mettez à jour le cache apt s'il est plus ancien que le cache_valid_time. Cette option est définie en secondes. Dans ces exemples, il est défini sur 3600 secondes.

Faire la mise à jour

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

Où :

  1. mise à niveau :dist – Exécutez l'équivalent de la commande « apt-get upgrade » sur tous les serveurs Ubuntu ou Debian Linux. En d'autres termes, mettez à niveau tous les packages vers la dernière version.
  2. force_apt_get :oui – Utilisez apt-get au lieu d'aptitude.

2. Installation de certains packages courants

Utilisez-le pour installer des packages communs. Le package gnugpg est requis pour configurer les dépôts dans Ubuntu.

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

3. Configuration du dépôt Redis 6

Vous pouvez installer la dernière version stable (version 6) de Redis à partir du site officiel packages.redis.io Dépôt APT. Ajouter le dépôt au apt index, mettez-le à jour et installez :

- 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. Installer le serveur Redis 6

Maintenant, mettez à jour le référentiel de cache et installez le serveur Redis

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

Ici, nous utilisons apt pour d'abord mettre à jour le cache avec update_cache :oui puis installez redis-server et enfin la configuration d'un gestionnaire pour activer le redis-server au démarrage.

5. Configuration du serveur Redis 6

Ensuite, nous devons configurer le serveur pour qu'il soit prêt pour la production.

Ajouter une ligne pour permettre au serveur d'écrire dans un fichier 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

Dans ce qui précède, nous mettons à jour le fichier de configuration Redis pour ajouter la ligne pidfile /var/run/redis/redis-server.pid afin qu'il puisse écrire un fichier pid. Nous configurons également un gestionnaire pour redémarrer le service lorsque le playbook est terminé.

Ensuite, configurons un mot de passe pour notre serveur Redis afin de renforcer la sécurité.

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

Dans ce qui précède, nous mettons à jour le fichier de configuration Redis pour ajouter la ligne requirepass {{ redis_password }} afin qu'il puisse définir le mot de passe sur la valeur définie. Nous configurons également un gestionnaire pour redémarrer le service lorsque le playbook est terminé.

Enfin, lions le service à 0.0.0.0 il est donc accessible en externe à l'aide de 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. Configuration des gestionnaires

Configurons les gestionnaires listés ci-dessus. Les gestionnaires ressemblent à des tâches normales dans un playbook Ansible, mais ils ne s'exécutent que si la tâche contient une directive "notifier" . Cela indique également que cela a changé quelque chose.

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

Ces gestionnaires seront exécutés après les tâches pour redémarrer et activer le service.

7. Tout le playbook pour installer et configurer Redis 6 dans Ubuntu 20.04

Ceci est le livre de jeu final. J'ai le fichier enregistré sous 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. Création du fichier hosts

Créez un hosts.yaml fichier avec ce contenu. Assurez-vous que vous pouvez vous connecter au serveur ajouté ici.

all:
  hosts:
    ubuntusrv:
      ansible_ssh_host: 10.2.11.10
      ansible_ssh_user: ubuntu

8. Exécuter le playbook

Vous avez besoin d'Ansible installé localement. Pour installer Ansible, vous pouvez utiliser le gestionnaire de packages du système d'exploitation ou utiliser pip. Utilisez cette commande pip pour installer ansible :

pip install ansible

Pour exécuter le playbook, utilisez cette commande :

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

Conclusion

Dans ce guide, nous avons appris à utiliser ansible pour installer et configurer Redis 6 dans Ubuntu 20.04.


Ubuntu
  1. Comment installer et configurer Ansible sur Ubuntu 18.04 LTS

  2. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  3. Comment installer et configurer le serveur Redis dans Ubuntu

  4. Comment installer et configurer Redis 6 sur Ubuntu 20.04

  5. Utiliser Ansible pour installer et configurer Elasticsearch sur Ubuntu 20.04

Comment installer et configurer Redis dans Ubuntu 20.04

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer Ansible sur Ubuntu 20.04

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Comment installer et configurer Ansible sur Ubuntu