You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Kubernetes中Redis-Stack StatefulSet传递自定义Redis配置?

为Kubernetes中的Redis-Stack StatefulSet传递自定义配置的方法

1. 修改默认密码

  • 简单场景:直接通过环境变量设置
    在values.yaml中添加环境变量配置:
    env:
      - name: REDIS_PASSWORD
        value: "your-secure-password"
    
  • 生产场景:用Secret存储密码
    1. 在Chart的templates目录下创建secret.yaml模板:
      apiVersion: v1
      kind: Secret
      metadata:
        name: redis-stack-secret
      type: Opaque
      data:
        redis-password: {{ .Values.redisPassword | b64enc }}
      
    2. 在values.yaml中定义密码变量:
      redisPassword: "your-secure-password"
      
    3. 在StatefulSet中引用Secret:
      env:
        - name: REDIS_PASSWORD
          valueFrom:
            secretKeyRef:
              name: redis-stack-secret
              key: redis-password
      

2. 传递自定义Redis配置

方法一:挂载自定义redis.conf文件

  1. 在Chart的templates目录下创建configmap.yaml模板,写入自定义配置:
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: redis-stack-config
    data:
      redis.conf: |
        requirepass {{ .Values.redisPassword }}
        maxmemory 256mb
        maxmemory-policy allkeys-lru
        appendonly yes
        # 按需添加其他Redis配置项
    
  2. 修改StatefulSet模板,添加ConfigMap挂载并指定配置文件启动:
    spec:
      template:
        spec:
          containers:
            - name: redis-stack
              volumeMounts:
                - name: redis-config
                  mountPath: /etc/redis/redis.conf
                  subPath: redis.conf
              command:
                - redis-server
                - /etc/redis/redis.conf
                - --loadmodule /usr/lib/redis/modules/redisearch.so
                - --loadmodule /usr/lib/redis/modules/redisgraph.so
                - --loadmodule /usr/lib/redis/modules/redisjson.so
                - --loadmodule /usr/lib/redis/modules/redistimeseries.so
          volumes:
            - name: redis-config
              configMap:
                name: redis-stack-config
    

方法二:通过启动参数传递单个配置项

如果仅需修改少量配置,可直接在StatefulSet的容器args中添加参数:

spec:
  template:
    spec:
      containers:
        - name: redis-stack
          args:
            - --requirepass {{ .Values.redisPassword }}
            - --maxmemory 256mb
            - --maxmemory-policy allkeys-lru
            - --loadmodule /usr/lib/redis/modules/redisearch.so
            # 其他Redis-Stack模块加载参数

3. 验证配置生效

  • 进入Redis-Stack Pod执行命令验证:
    kubectl exec -it <redis-stack-pod-name> -- redis-cli
    
  • 若设置了密码,先执行AUTH your-secure-password,再通过CONFIG GET <config-key>查看配置,比如:
    CONFIG GET requirepass
    CONFIG GET maxmemory
    

内容的提问来源于stack exchange,提问作者Jay Modi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 04:27:31