Redis Operator是一个在Kubernetes环境中部署和管理高可用Redis集群的操作符(Operator)。它基于Kubernetes的自定义资源定义(CRD),通过集成Sentinel实现Redis主从架构的自动故障转移,简化Redis集群的部署、扩展和日常维护流程,适用于需要在Kubernetes上运行高可用Redis服务的场景。
RedisCluster等自定义资源描述Redis集群配置,符合Kubernetes原生资源管理方式。replicas字段调整从节点数量,Operator自动完成节点添加/移除。1. 安装Redis Operator
通过YAML文件部署CRD和Operator控制器:
bash# 部署CRD(自定义资源定义) kubectl apply -f https://raw.githubusercontent.com/[redis-operator-repo]/main/config/crd/bases/redis.redis-operator.io_redisclusters.yaml # 部署Operator控制器(包含Deployment、ServiceAccount、Role等资源) kubectl apply -f https://raw.githubusercontent.com/[redis-operator-repo]/main/config/manager/manager.yaml
2. 创建Redis集群
通过RedisCluster自定义资源定义Redis集群规格,示例配置文件(redis-cluster.yaml):
yamlapiVersion: redis.redis-operator.io/v1alpha1 kind: RedisCluster metadata: name: example-redis namespace: default spec: # Redis集群规格 redis: replicas: 2 # 从节点数量(主节点固定1个,总Redis节点数=1+replicas) image: redis:7.0-alpine # Redis镜像版本 resources: # 资源限制 requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi config: # Redis配置参数 maxmemory: "1G" maxmemory-policy: "allkeys-lru" appendonly: "yes" # 启用AOF持久化 storage: # 存储配置 volumeClaimTemplate: spec: accessModes: ["ReadWriteOnce"] storageClassName: "standard" # 指定存储类 resources: requests: storage: 10Gi # 每个Redis节点的存储容量 # Sentinel规格 sentinel: replicas: 3 # Sentinel节点数量(建议≥3以保证高可用) image: redis:7.0-alpine # Sentinel镜像(通常与Redis镜像版本一致) resources: requests: cpu: 100m memory: 128Mi limits: cpu: 200m memory: 256Mi
应用配置创建集群:
bashkubectl apply -f redis-cluster.yaml
3. 验证集群状态
检查Redis集群和Sentinel集群是否正常运行:
bash# 查看Redis节点Pod kubectl get pods -l app=example-redis-redis # 查看Sentinel节点Pod kubectl get pods -l app=example-redis-sentinel # 查看自定义资源状态 kubectl get redisclusters example-redis -o yaml
| 参数路径 | 类型 | 说明 | 默认值 |
|---|---|---|---|
spec.redis.replicas | int | Redis从节点数量(主节点固定1个) | 1 |
spec.redis.image | string | Redis镜像地址及版本 | redis:7 |
spec.redis.resources | object | Redis节点CPU/内存资源限制(requests/limits) | 无 |
spec.redis.config | object | Redis配置参数(如maxmemory、appendonly等,键名需与redis.conf一致) | 无 |
spec.sentinel.replicas | int | Sentinel节点数量(建议≥3以保证高可用) | 3 |
spec.sentinel.image | string | Sentinel镜像地址及版本(通常与Redis镜像相同) | redis:7 |
修改Redis集群从节点数量(如从2个扩至3个):
bash# 编辑RedisCluster资源 kubectl edit redisclusters example-redis # 修改spec.redis.replicas字段为3,保存退出
Operator将自动创建新的Redis从节点并加入集群。
Redis Operator通过Kubernetes Operator模式,将Redis集群的部署、高可用保障和运维操作标准化、自动化,帮助用户在Kubernetes上高效管理高可用Redis服务,降低人工运维成本,提升集群可靠性。适用于各类需要在容器化环境中运行Redis的业务场景,尤其适合对服务可用性和运维效率有较高要求的企业级应用。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务