Zum Hauptinhalt springen
Version: 2.0.2

Référence API Redis

Cette référence détaille l’utilisation de Redis sur Hikube, en mettant en avant sa rapidité et sa polyvalence en tant que data store in-memory et système de cache distribué.
Le service managé simplifie le déploiement et la gestion des clusters Redis, garantissant une haute disponibilité, une faible latence et des performances optimales pour vos applications.

Le service s’appuie sur l’opérateur Spotahome Redis Operator, qui assure l’orchestration, la réplication et la supervision des clusters Redis.


Structure de Base

Ressource Redis

Exemple de configuration YAML

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

Paramètres

Paramètres Communs

ParamètreTypeDescriptionValeur par défautRequis
replicasintNombre de réplicas Redis (instances dans le cluster)2Oui
resourcesobjectConfiguration CPU et mémoire explicite de chaque réplique Redis. Si vide, resourcesPreset est appliqué{}Non
resources.cpuquantityCPU disponible par répliquenullNon
resources.memoryquantityRAM disponible par répliquenullNon
resourcesPresetstringProfil de ressources prédéfini (nano, micro, small, medium, large, xlarge, 2xlarge)"nano"Oui
sizequantityTaille du volume persistant (PVC) pour les données1GiOui
storageClassstringClasse de stockage utilisée""Non
externalboolActiver l’accès externe au cluster (LoadBalancer)falseNon
authEnabledboolActiver l’authentification par mot de passe (stockée dans un Secret Kubernetes)trueNon

Exemple de configuration YAML

redis.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: Redis
metadata:
name: example
spec:
# Nombre de réplicas Redis (haute dispo si >1)
replicas: 3

# Ressources allouées par instance
resources:
cpu: 1000m # 1 vCPU
memory: 1Gi # 1 GiB de RAM

# Taille du disque persistant pour chaque instance
size: 2Gi
storageClass: replicated

# Activer l’authentification Redis
# Si true, un mot de passe est généré automatiquement
authEnabled: true

# Exposer le service Redis à l’extérieur du cluster
external: true

Paramètres d'application spécifique

ParamètreTypeDescriptionValeur par défautRequis
authEnabledboolActive la génération d’un mot de passe (stocké dans un Secret Kubernetes)trueNon

Exemple de configuration YAML

redis.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: Redis
metadata:
name: example
spec:
replicas: 3
resources:
cpu: 1000m
memory: 1Gi
size: 2Gi
storageClass: replicated
# Activer l’authentification Redis
# Si true, un mot de passe est généré automatiquement
authEnabled: false
# Exposer le service Redis à l’extérieur du cluster
external: false

resources et resourcesPreset

Le champ resources permet de définir explicitement la configuration CPU et mémoire de chaque réplique Redis.
Si ce champ est laissé vide, la valeur du paramètre resourcesPreset est utilisée.

Exemple de configuration YAML

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

⚠️ Attention : si resources est défini, la valeur de resourcesPreset est ignorée.

Preset nameCPUMémoire
nano250m128Mi
micro500m256Mi
small1512Mi
medium11Gi
large22Gi
xlarge44Gi
2xlarge88Gi

Bonnes Pratiques
  • authEnabled: true : activez toujours l'authentification en production pour sécuriser l'accès à vos données Redis
  • 3 réplicas minimum en production pour garantir la haute disponibilité avec Redis Sentinel
  • Stockage répliqué : utilisez storageClass: replicated pour protéger les données contre la perte d'un noeud physique
  • Dimensionnement mémoire : la mémoire allouée (resources.memory) doit être suffisante pour contenir l'ensemble de votre dataset Redis
Attention
  • Les suppressions sont irréversibles : la suppression d'une ressource Redis entraîne la perte définitive des données si aucune persistance externe n'est configurée
  • resources vs resourcesPreset : si resources est défini, resourcesPreset est entièrement ignoré
  • Accès externe : activer external: true expose Redis sur Internet — assurez-vous que authEnabled: true est configuré