前段时间在集群上搭建了一个简易的单机版redis用于测试,注意redis是采用nodePort方式暴露的服务,因此需要在配置相应的端口安全组策略。redis编排文件如下:
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: redis
name: redis
namespace: develop
spec:
replicas: 1
selector:
matchLabels:
app: redis
serviceName: redis-svc
template:
metadata:
labels:
app: redis
spec:
containers:
- command:
- redis-server
- '--requirepass'
- 'redis@654321' # 初始密码
image: 'redis:5.0.5-alpine'
imagePullPolicy: Always
name: redis
ports:
- containerPort: 6379
protocol: TCP
resources:
requests:
cpu: 200m
memory: 1Gi
volumeMounts:
- mountPath: /data
name: volume-image-data
dnsPolicy: ClusterFirst
restartPolicy: Always
volumes:
- hostPath:
path: /home/redis/develop # 宿主机挂载路径
type: ''
name: volume-image-data
updateStrategy:
type: RollingUpdate
---
apiVersion: v1
kind: Service
metadata:
name: redis-svc
namespace: develop
spec:
externalTrafficPolicy: Local
ports:
- name: redis-service
nodePort: 32222
port: 6379
protocol: TCP
targetPort: 6379
selector:
app: redis
sessionAffinity: None
type: NodePort