k8s redis reources_Redis5(k8s)-随手笔记

本文档详细介绍了如何在Kubernetes(k8s)环境中部署和配置Redis5,包括Redis作为缓存和分布式锁的角色,以及Redis5作为消息队列的特性。内容涵盖Redis的C语言开发模型、数据持久化机制、集群配置以及在K8s中的资源设置。此外,还提供了具体的Deployment、StorageClass和RedisFailover的配置示例。
摘要由CSDN通过智能技术生成

介绍

在分布式系统中我们常常使用 Redis 作为缓存服务架构在数据库前面实现数据查询缓冲和查询加速, 同时也可以作为分布式锁(Redisson)的实现方式之一, 在redis:5+ 版本可以作为消息队列使用

基于C语言开发大道入口模块多线程和核心模块单线程模型nosql数据库

为了提高性能,将数据操作完全放到内存中进行, 通过定时异步刷新到磁盘实现数据持久化(RDB/AOF)

数据库中可以操作的数据类型为: string、list、set、sorted set、hash, 底层为redisObject

集群架构

基于redis:4

将redis-trib.py文件合并到redis-cli中,自动配置集群

本质还是 redis-cluster 重定向模式 + Sentinel 主从关系维护

部署

参考文档:

参考项目:

operator

apiVersion: apps/v1

kind: Deployment

metadata:

labels:

app: redisoperator

name: redisoperator

spec:

replicas: 1

selector:

matchLabels:

app: redisoperator

strategy:

type: RollingUpdate

template:

metadata:

labels:

app: redisoperator

spec:

nodeSelector:

middleware: "middleware"

serviceAccountName: redisoperator

containers:

- image: quay.io/spotahome/redis-operator:latest

imagePullPolicy: IfNotPresent

name: app

resources:

limits:

cpu: 100m

memory: 50Mi

requests:

cpu: 10m

memory: 50Mi

restartPolicy: Always

---

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterRoleBinding

metadata:

name: redisoperator

roleRef:

apiGroup: rbac.authorization.k8s.io

kind: ClusterRole

name: redisoperator

subjects:

- kind: ServiceAccount

name: redisoperator

namespace: default

---

apiVersion: rbac.authorization.k8s.io/v1

kind: ClusterR

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值