Zum Hauptinhalt springen
Version: 3.0.0-alpha (Diátaxis)

API-Referenz Redis

Diese Referenz beschreibt die Verwendung von Redis auf Hikube, mit Schwerpunkt auf Geschwindigkeit und Vielseitigkeit als In-Memory Data Store und verteiltes Cache-System. Der verwaltete Dienst vereinfacht die Bereitstellung und Verwaltung von Redis-Clustern und garantiert Hochverfügbarkeit, geringe Latenz und optimale Leistung für Ihre Anwendungen.

Der Dienst basiert auf dem Operator Spotahome Redis Operator, der die Orchestrierung, Replikation und Überwachung von Redis-Clustern gewährleistet.


Grundstruktur

Redis-Ressource

YAML-Konfigurationsbeispiel

apiVersion: apps.cozystack.io/v1alpha1
kind: Redis
metadata:
name: example
spec:

Parameter

Allgemeine Parameter

ParameterTypBeschreibungStandardwertErforderlich
replicasintAnzahl der Redis-Replikas (Instanzen im Cluster)2Ja
resourcesobjectExplizite CPU- und Speicherkonfiguration pro Redis-Replika. Wenn leer, wird resourcesPreset angewendet{}Nein
resources.cpuquantityVerfügbare CPU pro ReplikanullNein
resources.memoryquantityVerfügbarer RAM pro ReplikanullNein
resourcesPresetstringVordefiniertes Ressourcenprofil (nano, micro, small, medium, large, xlarge, 2xlarge)"nano"Ja
sizequantityGröße des persistenten Volumes (PVC) für Daten1GiJa
storageClassstringVerwendete Speicherklasse""Nein
externalboolExternen Zugriff zum Cluster aktivieren (LoadBalancer)falseNein
authEnabledboolPasswort-Authentifizierung aktivieren (im Kubernetes-Secret gespeichert)trueNein

YAML-Konfigurationsbeispiel

redis.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: Redis
metadata:
name: example
spec:
# Anzahl der Redis-Replikas (Hochverfügbarkeit wenn >1)
replicas: 3

# Zugewiesene Ressourcen pro Instanz
resources:
cpu: 1000m # 1 vCPU
memory: 1Gi # 1 GiB RAM

# Größe der persistenten Festplatte pro Instanz
size: 2Gi
storageClass: replicated

# Redis-Authentifizierung aktivieren
# Wenn true, wird ein Passwort automatisch generiert
authEnabled: true

# Redis-Service extern freigeben
external: true

Anwendungsspezifische Parameter

ParameterTypBeschreibungStandardwertErforderlich
authEnabledboolAktiviert die Generierung eines Passworts (im Kubernetes-Secret gespeichert)trueNein

YAML-Konfigurationsbeispiel

redis.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: Redis
metadata:
name: example
spec:
replicas: 3
resources:
cpu: 1000m
memory: 1Gi
size: 2Gi
storageClass: replicated
# Redis-Authentifizierung aktivieren
# Wenn true, wird ein Passwort automatisch generiert
authEnabled: false
# Redis-Service extern freigeben
external: false

resources und resourcesPreset

Das Feld resources ermöglicht die explizite Definition der CPU- und Speicherkonfiguration jedes Redis-Replikas. Wenn dieses Feld leer gelassen wird, wird der Wert des Parameters resourcesPreset verwendet.

YAML-Konfigurationsbeispiel

redis.yaml
resources:
cpu: 4000m
memory: 4Gi

⚠️ Achtung: Wenn resources definiert ist, wird der Wert von resourcesPreset ignoriert.

Preset-NameCPUSpeicher
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi

Bewährte Praktiken
  • authEnabled: true: Aktivieren Sie in der Produktion immer die Authentifizierung, um den Zugriff auf Ihre Redis-Daten zu sichern
  • Mindestens 3 Replikas in der Produktion für Hochverfügbarkeit mit Redis Sentinel
  • Replizierter Speicher: Verwenden Sie storageClass: replicated, um Daten gegen den Verlust eines physischen Knotens zu schützen
  • Speicherdimensionierung: Der zugewiesene Speicher (resources.memory) muss ausreichend sein, um Ihr gesamtes Redis-Dataset aufzunehmen
Achtung
  • Löschungen sind unwiderruflich: Das Löschen einer Redis-Ressource führt zum endgültigen Datenverlust, wenn keine externe Persistenz konfiguriert ist
  • resources vs resourcesPreset: Wenn resources definiert ist, wird resourcesPreset vollständig ignoriert
  • Externer Zugriff: Die Aktivierung von external: true stellt Redis im Internet bereit — stellen Sie sicher, dass authEnabled: true konfiguriert ist