본문으로 건너뛰기

Redis 설치 가이드

설치

---
apiVersion: v1
kind: Service
metadata:
name: redis-hl
namespace: redis
labels:
app: redis
app.kubernetes.io/name: redis
app.kubernetes.io/version: "8.2.1"
spec:
type: ClusterIP
clusterIP: None
selector:
app: redis
app.kubernetes.io/name: redis
ports:
- name: redis
port: 6379
targetPort: redis

---
apiVersion: v1
kind: ConfigMap
metadata:
name: redis
namespace: redis
labels:
app: redis
app.kubernetes.io/name: redis
app.kubernetes.io/version: "8.2.1"
data:
redis.conf: |

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: redis
namespace: redis
labels:
app: redis
app.kubernetes.io/name: redis
app.kubernetes.io/version: "8.2.1"
spec:
replicas: 1
serviceName: redis-hl
selector:
matchLabels:
app: redis
app.kubernetes.io/name: redis
template:
metadata:
labels:
app: redis
app.kubernetes.io/name: redis
spec:
containers:
- name: redis
image: docker.io/library/redis:8.2.1
imagePullPolicy: IfNotPresent
command:
- redis-server
args:
- /usr/local/etc/redis/redis.conf
ports:
- name: redis
containerPort: 6379
volumeMounts:
- name: config
mountPath: /usr/local/etc/redis
readOnly: true
- name: data
mountPath: /data
volumes:
- name: config
configMap:
name: redis
volumeClaimTemplates:
- metadata:
name: data
namespace: redis
labels:
app: redis
app.kubernetes.io/name: redis
app.kubernetes.io/version: "8.2.1"
spec:
storageClassName: ceph-block
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 5Gi

Test

kubectl run tmp-redis --rm -it --image docker.io/library/redis:8.2.1 \
-- redis-cli -h redis-0.redis-hl.redis.svc.cluster.local