پرش به مطلب اصلی

Redis

Redis یک ابزار متن‌باز و قدرتمند برای ذخیره‌سازی ساختارهای داده است که به‌عنوان پایگاه‌داده، Cache و Message Broker استفاده می‌شود. سرعت و کارایی بالای این ابزار در کنار پشتیبانی از ساختارهای مختلف داده، آن را به مناسب‌ترین انتخاب برای مدیریت اپلیکیشین‌ها و کش کردن داده‌هایی که دسترسی زیادی به آن‌ها وجود دارد تبدیل کرده است.

در کانتینر ابری آروان‌کلاد می‌توانید با استفاده از اپراتورها، یک کلاستر یا یک نود Redis راه‌اندازی کنید. برای این اپراتور از نسخه‌ی ۰.۱۷.۰ پروژه‌ی Opstree استفاده شده است.

راه‌اندازی ردیس با یک نود

فایل زیر را با یک نام دل‌خواه مانند redis-standalone.yaml ذخیره کنید:

apiVersion: redis.redis.opstreelabs.in/v1beta2
kind: Redis
metadata:
name: redis
labels:
app.kubernetes.io/name: redis
spec:
kubernetesConfig:
image: "quay.io/opstree/redis:v7.0.12"
imagePullPolicy: "IfNotPresent"

redisExporter:
enabled: false
image: "quay.io/opstree/redis-exporter:v1.44.0"
imagePullPolicy: "IfNotPresent"
storage:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
podSecurityContext:
fsGroup: 1000
runAsUser: 1000

سپس برای استقرار دستور زیر را اجرا کنید:

kubectl apply -f redis-standalone.yaml -n [namespace]

به‌جای [namespace] نام پروژه‌ی خود در کانتینر ابری آروان‌کلاد را قرار دهید.

راه‌اندازی کلاستر ردیس

فایل زیر را با یک نام دل‌خواه مانند redis-cluster.yaml ذخیره کنید:

apiVersion: redis.redis.opstreelabs.in/v1beta2
kind: RedisCluster
metadata:
name: redis-cluster
labels:
app.kubernetes.io/name: redis-cluster
spec:
clusterSize: 3
persistenceEnabled: true
clusterVersion: v7
redisLeader:
replicas: 3
redisFollower:
replicas: 3
redisExporter:
enabled: false
image: "quay.io/opstree/redis-exporter:v1.44.0"
imagePullPolicy: "IfNotPresent"
kubernetesConfig:
image: "quay.io/opstree/redis:v7.0.12"
imagePullPolicy: "IfNotPresent"
storage:
nodeConfVolume: true
nodeConfVolumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
podSecurityContext:
fsGroup: 1000
runAsUser: 1000

سپس برای استقرار دستور زیر را اجرا کنید:

kubectl apply -f redis-cluster.yaml -n [namespace]

به‌جای [namespace] نام پروژه‌ی خود در کانتینر ابری آروان‌کلاد را قرار دهید.

برای بررسی جزییات و نمونه‌های بیش‌تر به مستندات اپراتور Redis مراجعه کنید.