redis集群部署与连接

整体架构为configMap+statefulSet+serverless 部署 sentinel模式 相比较直接直连 master 6379的好处 当master宕机可以立即调度到新的master

开启服务的时候 先开启master ->slave->sentinel

需要注意 使用configmap定义的时候 直接通过sentinel monitor redis-master-0.redis-headless.backend-space.svc.cluster.local 有可能dns 解析不了 1)运行时机,有可能再运行sentinel 读取 configMap时 master pod还没有运行 2)dns解析的结果是有延迟的,即使master 已经运行 也不能保证 通过configMap里获取的是最新的dns解析的结果 所以直接在 sentinel command里面使用命令 getent host手动获取dns解析结果 是最稳妥的

时使用secret配置文件 volumes+volumeMounts 不论是使用configMap或者secret 如果想在容器里使用指定的别名文件对象 都需要使用items进行映射 不然就默认直接使用的配置文件里的key

javascript 复制代码
 volumes:
   - name: redis-config
     secret:
       secretName: redis-secret
       defaultMode: 0400 #仅root权限可读
     # 或者configMap
     # configMap:
       # name:
       items:
         key: 定义配置文件里的key
         path: 存储在容器里的别名

redis-server默认启动的配置文件 是在 /etc/redis/redis.conf 所以 直接将secret配置的内容挂载到容器内部的/etc/redis默认启动目录 redis-server启动服务时就会直接用挂载的配置

javascript 复制代码
template:
  spec:
    containers:
      volumeMounts:
        name:redis-config #这个对应 volumes 里声明的变量
        mountPath:/etc/redis

livenessProbe 健康检查 + restartPolicy重启策略

javascript 复制代码
template:
  spec:
    restartPolicy:Always
    containers: 
      livenessProbe:
        exec:
          command:
          - sh
          - -c
          - |
          # 从 master.conf 中提取 requirepass 并去掉换行
          PASSWORD=$(grep -E '^requirepass' /etc/redis/redis.conf | awk '{print $2}' | tr -d '\n\r')
          export REDISCLI_AUTH="$PASSWORD"
          redis-cli ping
相关推荐
梦帮科技3 分钟前
AI 音乐产品的发布工程:验证门、数据发布、回滚与生产运维纪律
数据结构·数据库·架构·node.js·音视频·动态规划·推荐算法
TDengine (老段)2 小时前
TDengine 常见问题 TOP3
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
HanhahnaH2 小时前
Redis单线程和Tair多线程架构设计对比
分布式·缓存
螺蛳粉 螺蛳粉4 小时前
MySQL 分布式集群系列 · 第五篇——全方位对比:NDB、MGR、主从复制、分库分表怎么选?
数据库·分布式·mysql
wdfk_prog7 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
Escalating_xu8 小时前
【内存管理发展史】从 8086 实模式到分页:CPU 如何把虚拟地址变成物理地址
linux·缓存
wdfk_prog8 小时前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros
努力努力再努力wz8 小时前
【Docker入门系列】镜像为什么能复用?一文吃透 Docker Image、Registry、运行时架构与常用命令
缓存·docker·容器
这个DBA有点耶8 小时前
从OLTP到OLAP到HTAP:数据库负载分类的技术演进与选型指南
数据库·mysql·架构
Nano叶落9 小时前
几十万个-key-扫不过来?-bigkeys、SCAN、RDB-离线分析三步定位最该清的-Big-Key
redis