我正在尝试在不持久化kubernetes集群的情况下设置Redis集群。有没有办法我可以在没有持久性的情况下做到这一点。重启Pod后,我需要自动恢复。有简单的方法吗?
尝试在启动时使用脚本更新节点信息,该脚本实际上不起作用,因为重新启动的Pod带有新的静态私有IP。 仅供参考,我创建了一个有状态集和一个配置映射,在这里引用:https://github.com/rustudorcalin/deploying-redis-cluster 以及卷的空目录设置。 参考:https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/
答案 0 :(得分:0)
您无法执行此操作,重新启动Pod时Redis的状态很多。即使具有持久性存储也不是那么容易。您将需要某种编排来管理和重新连接Redis。
答案 1 :(得分:0)
您是指实际的集群模式,还是只是在没有持久性的情况下运行Redis?这就是我通常使用的。
apiVersion: apps/v1
kind: Deployment
metadata:
name: ...
namespace: ...
labels:
app.kubernetes.io/name: redis
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: redis
template:
metadata:
labels:
app.kubernetes.io/name: redis
spec:
containers:
- name: default
image: redis:latest
imagePullPolicy: Always
ports:
- containerPort: 6379
args:
- "--save"
- ""
- "--appendonly"
- "no"