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
- Tâches Ansible pour s'assurer que le serveur est à jour
- Installation de certains packages courants
- Configuration du référentiel Redis 6
- Installation du serveur Redis 6
- Configuration du serveur Redis 6
- Configuration des gestionnaires
- 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ù :
- update_cache :oui – Exécutez l'équivalent de la commande apt-get update sur tous les serveurs
- force_apt_get :oui – N'utilisez pas la commande aptitude, utilisez plutôt la commande apt-get sur les boîtes Debian/Ubuntu
- 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ù :
- 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.
- 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.