KUBERNETES上无持久性的REDIS集群

KUBERNETES上无持久性的REDIS集群,kubernetes,redis,Kubernetes,Redis,我正在尝试在kubernetes集群上设置一个没有持久性的redis集群。有没有一种方法可以在没有持久性卷的情况下做到这一点。我需要在pod重启后自动恢复。有没有一个简单的方法 尝试在启动时使用脚本更新节点信息,但由于重新启动的pod提供了一个新的静态私有ip,该脚本实际上无法工作。 仅供参考,我已创建了一个有状态集和此处引用的配置映射: 以及卷的空目录设置。 ref:您不能这样做,当pod重新启动时,您的redis的状态是lots。即使使用持久性存储也不是那么容易。您将需要某种编排来管理和重新

我正在尝试在kubernetes集群上设置一个没有持久性的redis集群。有没有一种方法可以在没有持久性卷的情况下做到这一点。我需要在pod重启后自动恢复。有没有一个简单的方法

尝试在启动时使用脚本更新节点信息,但由于重新启动的pod提供了一个新的静态私有ip,该脚本实际上无法工作。 仅供参考,我已创建了一个有状态集和此处引用的配置映射: 以及卷的空目录设置。
ref:

您不能这样做,当pod重新启动时,您的redis的状态是lots。即使使用持久性存储也不是那么容易。您将需要某种编排来管理和重新连接Redis。

您是指实际的群集模式,还是只运行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"

为了恢复,您需要将Redis吊舱的状态和数据存储在某个地方,即使您的Redis吊舱死亡,它也可以保存。K8s为此提供了StatefulSets和PersistentVolume。这可能并不“容易”,但如果你不使用它们,你将不得不在没有PersistentVolume的情况下提供类似的机制,我认为这将更加复杂。kubernetes环境上的联网和自动故障切换/恢复看起来很有挑战性。