Redis ist ein In-Memory-Datenstrukturspeicher, der als verteilte In-Memory-Schlüssel-Wert-Datenbank, Cache und Nachrichtenbroker mit optionaler Dauerhaftigkeit verwendet wird. Redis unterstützt verschiedene Arten von abstrakten Datenstrukturen, z. B. Zeichenfolgen, Listen, Karten, Sätze, sortierte Sätze, HyperLogLogs, Bitmaps, Streams und räumliche Indizes.
Ansible ist ein Open-Source-Softwarebereitstellungs-, Konfigurationsverwaltungs- und Anwendungsbereitstellungstool, das eine Infrastruktur als Code ermöglicht. Es läuft auf vielen Unix-ähnlichen Systemen und kann sowohl Unix-ähnliche Systeme als auch Microsoft Windows konfigurieren.
Verwandte Inhalte
- So installieren und konfigurieren Sie Redis 6 unter Debian 11
- So verwenden Sie Ansible zum Installieren und Konfigurieren von Redis 6 unter Ubuntu 20.04
- So installieren und konfigurieren Sie Redis 6 unter Ubuntu 20.04
- So installieren und konfigurieren Sie Redis 6 unter FreeBSD 13
- So installieren und konfigurieren Sie Redis 6 auf OpenSUSE Leap 15.3
- So installieren und konfigurieren Sie Redis 6 auf Fedora 34
Voraussetzungen
Um mitzumachen, stellen Sie sicher, dass Sie Folgendes haben:
- Ein aktualisierter Debian-Server
- Zugang zum Internet
- Root-Zugriff auf den Server oder Benutzer mit sudo-Zugriff
Inhaltsverzeichnis
- Ansible-Aufgaben, um sicherzustellen, dass der Server auf dem neuesten Stand ist
- Einige allgemeine Pakete installieren
- Redis 6-Repository einrichten
- Installieren des Redis 6-Servers
- Redis 6-Server konfigurieren
- Einrichten der Handler
- Das gesamte Playbook zum Installieren und Einrichten von Redis 6 in Debian 11
1. Ansible-Aufgaben, um sicherzustellen, dass der Server auf dem neuesten Stand ist
Bevor wir fortfahren, stellen wir mithilfe dieser Aufgaben sicher, dass der Server auf dem neuesten Stand ist:
- name: Update apt repo and cache on all Debian/Ubuntu boxes
apt:
update_cache: yes
force_apt_get: yes
cache_valid_time: 3600
Wo:
- update_cache:ja – Führen Sie das Äquivalent des Befehls apt-get update auf allen Servern aus
- force_apt_get:ja – Verwenden Sie nicht den aptitude-Befehl, sondern den apt-get-Befehl auf Debian/Ubuntu-Rechnern
- cache_valid_time:3600 – Aktualisieren Sie den Apt-Cache, wenn er älter als die cache_valid_time ist. Diese Option wird in Sekunden eingestellt. In diesem Beispiel ist sie auf 3600 Sekunden eingestellt.
Upgrade durchführen
- name: Upgrade all packages on servers
apt:
upgrade: dist
force_apt_get: yes
Wo:
- upgrade:dist – Führen Sie das Äquivalent zum Befehl „apt-get upgrade“ auf allen Ubuntu- oder Debian-Linux-Servern aus. Mit anderen Worten, aktualisieren Sie alle Pakete auf die neueste Version.
- force_apt_get:ja – Verwenden Sie apt-get anstelle von aptitude.
2. Einige gängige Pakete installieren
Verwenden Sie dies, um allgemeine Pakete zu installieren. Das gnugpg-Paket wird benötigt, um die Repos in Debian einzurichten.
- name: Install required packages
apt:
name:
- gnupg
- vim
state: latest
3. Einrichten von Redis 6 Repo
Sie können die neueste stabile Version (Version 6) von Redis von der offiziellen packages.redis.io
installieren APT-Repository. Fügen Sie das Repository zu apt
hinzu indexieren, aktualisieren und installieren:
- 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. Redis 6-Server installieren
Aktualisieren Sie nun das Cache-Repo und installieren Sie den Redis-Server
- name: Install redis apt: name: redis-server update_cache: yes notify: - Enable Redis
Hier verwenden wir apt, um zuerst den Cache mit update_cache:yes zu aktualisieren dann redis-server installieren und schließlich einen Handler einrichten, um den redis-server
zu aktivieren beim Booten.
5. Konfigurieren des Redis 6-Servers
Als nächstes müssen wir den Server so konfigurieren, dass er für die Produktion bereit ist.
Fügen Sie eine Zeile hinzu, damit der Server in eine PID-Datei schreiben kann
- 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
Oben aktualisieren wir die Redis-Konfigurationsdatei, um die Zeile pidfile /var/run/redis/redis-server.pid anzuhängen damit es eine PID-Datei schreiben kann. Wir richten auch einen Handler ein, um den Dienst neu zu starten, wenn das Playbook mit der Ausführung fertig ist.
Lassen Sie uns als Nächstes ein Passwort für unseren Redis-Server einrichten, um die Sicherheit zu erhöhen.
- name: Secure redis with a password
lineinfile:
dest: /etc/redis/redis.conf
regexp: '^(# )?requirepass \w*$'
line: 'requirepass {{ redis_password }}'
state: present
notify:
- Restart Redis
Oben aktualisieren wir die Redis-Konfigurationsdatei, um die Zeile requirepass {{ redis_password }} so kann es das Passwort auf den eingestellten Wert setzen. Wir richten auch einen Handler ein, um den Dienst neu zu starten, wenn das Playbook mit der Ausführung fertig ist.
Lassen Sie uns abschließend den Dienst an 0.0.0.0 binden daher ist es extern mit bind 0.0.0.0 zugänglich
- 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. Handler einrichten
Lassen Sie uns die oben aufgeführten Handler einrichten. Handler sind genau wie normale Aufgaben in einem Ansible-Playbook, aber sie werden nur ausgeführt, wenn die Aufgabe eine „Notify“-Anweisung enthält . Es zeigt auch an, dass es etwas geändert hat.
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
Diese Handler werden nach den Aufgaben ausgeführt, um den Dienst neu zu starten und zu aktivieren.
7. Das gesamte Playbook zum Installieren und Einrichten von Redis 6 in Debian 11
Dies ist das letzte Playbook. Ich habe die Datei als setup-redis-debian.yaml
gespeichert
---
- 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. Erstellen der Hosts-Datei
Erstellen Sie eine hosts.yaml
Datei mit diesem Inhalt. Stellen Sie sicher, dass Sie sich mit dem hier hinzugefügten Server verbinden können.
all:
hosts:
debiansrv:
ansible_ssh_host: 10.2.11.10
ansible_ssh_user: admin
8. Playbook ausführen
Ansible muss lokal installiert sein. Um Ansible zu installieren, können Sie den Paketmanager des Betriebssystems oder pip verwenden. Verwenden Sie diesen Pip-Befehl, um Ansible zu installieren:
pip install ansible
Um das Playbook auszuführen, verwenden Sie diesen Befehl:
ansible-playbook -i hosts.yaml setup-redis-debian.yaml -vv
Schlussfolgerung
In diesem Leitfaden haben wir gelernt, wie man Ansible zum Installieren und Konfigurieren von Redis 6 in Debian 11 verwendet.