使用Kubernetes快速部署Redis主从集群

Redis主从集群

使用Redis主从集群的主要目的在于提高Redis集群的可用性,主节点宕机,从节点可以代替Redis主节点来提供服务。Redis主从集群还可以实现读写分离,即“写“和”读“操作分别作用在主、从节点上。这种模式下,从几点可以有多个,特别是写少读多的场景尤为适合,在具体的场景下,可以适当调节从节点的个数来提高性能。

Redis主从结构以及读写分离示意图如下:

部署Redis主从集群

部署Redis主从集群

使用Kubernetes部署Redis集群,有如下几个优势:

  • 部署简单,可以在秒级部署一套Redis主从集群
  • 高可用性,Kubernetes集群负责管理Redis主从集群的高可用性
  • 运行时资源定制化,用户可以设定Redis主从节点的资源使用上限,比如CPU,内存,对于Redis,主要是定时内存
  • ”存储场景“: 可以挂载云盘,云盘保证数据高可用,并可以在线扩容
  • 多租户隔离,用户可以在自己的隔离区域部署自己的Redis主从集群,其他用户不可见
  • ”缓存场景“:运维成本几乎为零,秒级创建集群,用后即焚
使用实例
创建Redis主节点控制器

编写rc文件:

使用Kubernetes部署Redis主从集群

下载主节点RC文件

创建redis主节点rc:

kubectl create -f redis -master -rc.yaml
创建Redis从节点控制器
cat > redis -slave -rc.yaml

编写rc文件:

使用Kubernetes部署Redis主从集群

下载从节点RC文件

kubectl create -f redis -slave -rc.yaml
创建Redis主节点访问服务

使用Kubernetes部署Redis主从集群

下载主节点Service文件

kubectl create -f redis -master -svc.yaml
创建Redis从节点访问服务

使用Kubernetes部署Redis主从集群

下载从节点Service文件

kubectl create -f redis -slave -svc.yaml

到此为止,Kubernetes集群内的redis已经创建完成了,现在可以通过计算节点的32379和32340来分别访问redis的主、从节点了。

使用场景

我们建议本文的所述的Redis主从结构模式只使用在“缓存”的场景下,另外,“存储”型的使用场景我们会在后续的文章中介绍。

基准测试

使用redis-benchmark为redis一主两从集群做基准测试,测试数据和图表如下图所示:

使用Kubernetes部署Redis主从集群

原文标题:1分钟内部署Redis主从集群

K8S中文社区微信公众号
分享到:更多 ()

评论 1

评论前必须登录!

 

  1. #1

    大兄弟啊,怎么下载啊

    锦衾8年前 (2017-06-13)