Files
Olares/cli/pkg/kubesphere/plugins/files/build/redis/templates/setup-redis.yaml

136 lines
2.9 KiB
YAML

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: redis-pvc
namespace: kubesphere-system
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.persistentVolume.size }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: redis
tier: database
version: {{ .Values.version }}
name: redis
namespace: kubesphere-system
spec:
replicas: 1
selector:
matchLabels:
app: redis
tier: database
template:
metadata:
labels:
app: redis
tier: database
version: {{ .Values.version }}
spec:
initContainers:
- name: init
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
command: ['sh', '-c', 'cat /tmp/redis/redis.conf | sed "s/REDIS_PASSWORD/$KUBESPHERE_REDIS_PASSWORD/" > /data/redis.conf']
volumeMounts:
- mountPath: /data
name: redis-pvc
subPath: redis-data
- name: redis-config
mountPath: "/tmp/redis"
readOnly: true
env:
- name: KUBESPHERE_REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: redis-secret
key: auth
containers:
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: IfNotPresent
name: redis
args: ["/data/redis.conf"]
volumeMounts:
- mountPath: /data
name: redis-pvc
subPath: redis-data
ports:
- containerPort: 6379
protocol: TCP
resources:
limits:
cpu: 1000m
memory: 1000Mi
requests:
cpu: 20m
memory: 100Mi
volumes:
- name: redis-pvc
persistentVolumeClaim:
claimName: redis-pvc
- name: redis-config
configMap:
name: redis-configmap
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
preference:
matchExpressions:
- key: node-role.kubernetes.io/master
operator: In
values:
- ""
nodeSelector: {}
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
- key: CriticalAddonsOnly
operator: Exists
---
apiVersion: v1
kind: ConfigMap
metadata:
name: redis-configmap
namespace: kubesphere-system
labels:
app: redis
tier: database
version: {{ .Values.version }}
data:
redis.conf: |
requirepass REDIS_PASSWORD
masterauth REDIS_PASSWORD
---
apiVersion: v1
kind: Service
metadata:
labels:
app: redis
tier: database
name: redis
namespace: kubesphere-system
spec:
ports:
- name: redis
port: 6379
protocol: TCP
targetPort: 6379
selector:
app: redis
tier: database
sessionAffinity: None
type: ClusterIP