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ètre | Type | Description | Valeur par défaut | Requis |
|---|---|---|---|---|
replicas | int | Nombre de réplicas Redis (instances dans le cluster) | 2 | Oui |
resources | object | Configuration CPU et mémoire explicite de chaque réplique Redis. Si vide, resourcesPreset est appliqué | {} | Non |
resources.cpu | quantity | CPU disponible par réplique | null | Non |
resources.memory | quantity | RAM disponible par réplique | null | Non |
resourcesPreset | string | Profil de ressources prédéfini (nano, micro, small, medium, large, xlarge, 2xlarge) | "nano" | Oui |
size | quantity | Taille du volume persistant (PVC) pour les données | 1Gi | Oui |
storageClass | string | Classe de stockage utilisée | "" | Non |
external | bool | Activer l’accès externe au cluster (LoadBalancer) | false | Non |
authEnabled | bool | Activer l’authentification par mot de passe (stockée dans un Secret Kubernetes) | true | Non |
Exemple de configuration 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ètre | Type | Description | Valeur par défaut | Requis |
|---|---|---|---|---|
authEnabled | bool | Active la génération d’un mot de passe (stocké dans un Secret Kubernetes) | true | Non |
Exemple de configuration 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
resources:
cpu: 4000m
memory: 4Gi
⚠️ Attention : si resources est défini, la valeur de resourcesPreset est ignorée.
| Preset name | CPU | Mémoire |
|---|---|---|
nano | 250m | 128Mi |
micro | 500m | 256Mi |
small | 1 | 512Mi |
medium | 1 | 1Gi |
large | 2 | 2Gi |
xlarge | 4 | 4Gi |
2xlarge | 8 | 8Gi |
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: replicatedpour 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
- 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
resourcesvsresourcesPreset: siresourcesest défini,resourcesPresetest entièrement ignoré- Accès externe : activer
external: trueexpose Redis sur Internet — assurez-vous queauthEnabled: trueest configuré