首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于helm部署Kubernetes下的高可用redis

    笔者用过 helm,它是Kubernetes下的包管理器,相当于apt-get、yum、brew这样的软件工具,用的是 helm(v2)版本,下面所介绍的 helm指的都是 v2 版本。通过使用 helm 解决了安装和部署复杂的 Kubernetes 应用,比如经常使用的 memecache、redis、MySQL。也解决过部分粉丝在用 helm 部署程序过程遇到一些问题,其中有几个粉丝一再建议我写一篇文章介绍下 helm,其实我是不想写的,究其原因有两点,第一、helm 官网和镜像仓库介绍非常详尽,当然安装也非常简单。第二、helm 如果想深入使用,必须搞明白 go 的模板语法,对于大多数用户来说,只是用来管理不同环境的编排文件,现在又要学一门模板语言,有一定的学习成本,所以就这点我是不太认可 helm 的。当然很多人会说,不如直接选择 Kubernetes 集成的 Kustomize,不用安装任何多余程序,即可完成不同环境应用配置和打包,但从本质上来说,helm 和 Kustomize 是有一定区别的,Kustomize 利用base+overlay的思想生成最终的描述文件,对原有yaml 编排文件不用怎么修改,即可无缝集成,使用上更简单。而 helm 则又分为仓库、helm 客户端、tiller 服务端,使用过程中,在底层定义模板,外层赋值。使用起来更复杂,但不可否认 helm 更强大,它不仅能够完成不同环境应用的打包和配置,更是对应用进行全生命周期的管理,比如查看历史部署版本、回退、升级等;另外支持应用程序的查找、以及应用程序依赖关系定制化等功能。之前介绍过 Kustomize 的使用,下文结合 redis-ha 安装部署介绍下 helm,使你对 Kustomize 和 helm 之间的功能点有一个更清楚的认识。

    02

    Redis集群搭建

    1.所有的Redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽 2.节点的fail是通过集群中超过半数的节点检测失效时才生效 3.客户端与Redis节点直连,不需要中间proxy层,客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可 4.Redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster (簇)负责维护node<->slot<->value。Redis集群中内置了16384个哈希槽,当需要在Redis集群中放置一个key-value时,Redis先对key使用crc16算法算出一个结果,然后把结果对 16384 求余数,这样每个key都会对应一个编号在 0-16383 之间的哈希槽,Redis 会根据节点数量大致均等的将哈希槽映射到不同的节点

    01

    centos安装redis

    下载安装包 wget http://download.redis.io/releases/redis-4.0.12.tar.gz 解压安装包并安装 前提已安装gcc 没有安装则用yum install gcc 安装即可 tar xzf redis-4.0.12.tar.gz cd redis-4.0.12 make make install Redis没有其他外部依赖,安装过程很简单。编译后在Redis源代码目录的src文件夹中可以找到若干个可执行程序,安装完后,在/usr/local/bin目录中可以找到刚刚安装的redis可执行文件。 启动和停止Redis cd /usr/local/bin redis-server 停止redis-cli SHUTDOWN 通过初始化脚本启动Redis 在Redis源代码目录的utils文件夹中有一个名为redis_init_script的初始化脚本文件。需要配置Redis的运行方式和持久化文件、日志文件的存储位置。步骤如下: 1、配置初始化脚本 cd ~/redis-4.0.12/utils cp redis_init_script /etc/init.d cd /etc/init.d mv redis_init_script redis_6379 文件名为 redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第14行的REDISPORT变量的值为同样的端口号。 2、建立以下需要的文件夹 /etc/redis 存放Redis的配置文件 /var/redis/端口号 存放Redis的持久化文件 mkdir /etc/redis mkdir /var/redis mkdir /var/redis/6379 3、修改配置文件 cd ~/redis-4.0.12 cp redis.conf /etc/redis cd /etc/redis mv redis.conf 6379.conf 首先将配置文件模板(redis-4.0.12/redis.conf)复制到/etc/redis 目录中,以端口号命名(如"6379.conf"),然后按照下表对其中的部分参数进行编辑。 参数 值 说明 # bind 127.0.0.1 注释掉bind 不然只能本机连接 daemonize yes 使Redis以守护进程模式运行 pidfile /var/run/redis_端口号.pid 设置Redis的PID文件位置 port 端口号 设置Redis监听的端口号 dir /var/redis/端口号 设置持久化文件存放位置 现在也可以使用下面的命令来启动和关闭Redis了 /etc/init.d/redis_6379 start /etc/init.d/redis_6379 stop

    01
    领券