介绍
介绍
今天福哥要带着大家学习Rancher部署Redis服务,这个我们还是使用redis:6.0-buster这个镜像作为Redis服务的基础镜像。
rancher替代的是docker-compose,所以无论是rancher还是docker-compose,它们所使用的镜像还是需要自己来维护的。
福哥前面有教给大家使用Dockerfile创建自己的Redis镜像的方法,这里就不再重述了,我们直接在rancher里面使用这个自建的redis6.0这个镜像来搭建redis服务。
镜像
目录
镜像目录结构。
Dockerfile
这个福哥写的Dockerfile,大家可以拿去使用。
FROM registry.tongfu.net:5000/redis:6.0-buster MAINTAINER Andy Bogate MAINTAINER tongfu@tongfu.net MAINTAINER http://docker.tongfu.net MAINTAINER 2021/6/20 MAINTAINER v1.0.0 EXPOSE 6379 # timezone RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ && echo 'Asia/Shanghai' >/etc/timezone # data RUN mkdir -p /usr/local/etc/redis \ && mkdir -p /var/lib/redis \ && mkdir -p /var/log/redis COPY redis.conf /usr/local/etc/redis/redis.conf # command CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]
redis.conf
福哥将原始的redis.conf复制出来进行了一些调整,大家可以根据自己的情况配置。
bind 0.0.0.0 protected-mode yes port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 300 daemonize no supervised no pidfile /tongfu.net/env/redis-4.0.10/data/redis.pid loglevel notice logfile /var/log/redis/redis.log databases 16 always-show-logo yes save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir /var/lib/redis/ slave-serve-stale-data yes slave-read-only yes repl-diskless-sync no repl-diskless-sync-delay 5 repl-disable-tcp-nodelay no slave-priority 100 requirepass tongfu.net lazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no slave-lazy-flush no appendonly no appendfilename "appendonly.aof" appendfsync everysec no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes aof-use-rdb-preamble no lua-time-limit 5000 slowlog-log-slower-than 10000 slowlog-max-len 128 latency-monitor-threshold 0 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 activerehashing yes client-output-buffer-limit normal 0 0 0 client-output-buffer-limit slave 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60 hz 10 aof-rewrite-incremental-fsync yes
部署
名称
名称可以随便起,建议使用英文。
工作负载类型
类型很多,以后福哥会专门讲解这个,今天安装的是redis数据库,所以选择有状态应用。
Docker镜像
这里使用的是以前将Dockerfile的时候创建的redis6.0镜像。
命名空间
福哥添加了一个redis的命名空间。
主机调度
选择服务部署在那台主机上面,可以手动选择,也可以自动分配。
健康检查
这个就是health_check了,图形化设置真爽~~
数据卷
福哥给redis服务设置了data和logs两个目录,都是映射到了主机目录上面。
创建目录
首先需要在服务器上建立这两个目录,然后设置所有者和分组。
因为redis6.0的镜像的redis用户和redis组的ID都是999,所以这里授权999.999即可。
mkdir -p /data/docker.data/redis/data/ chown 999.999 /data/docker.data/redis/data/ mkdir -p /data/docker.logs/redis/logs/ chown 999.999 /data/docker.logs/redis/logs/
data
添加data目录的映射,将/data/docker.data/redis/data/映射到/var/lib/redis/上面。
logs
添加logs目录的映射,将/data/docker.logs/redis/logs/映射到/var/log/redis/上面。
入口命令
因为福哥要使用自定义的配置文件,按照官方的说法需要通过CMD来启动实例。
redis-server /usr/local/etc/redis/redis.conf
安全/主机设置
cpu和内存
福哥配置文件设置的redis内存是256M,这里给容器内存上限加了128M。而CPU福哥分配了1/5个内核,足够用了。
查看
列表
完成部署后可以在服务列表里面看到redis服务已经起来了。
管理
命令行
进入命令行模式,可以看的redis工作正常。
总结
今天福哥带着大家使用我们前面学习的Dockerfile创建的自定义redis镜像redis6.0在rancher上面部署了redis服务,可以看到这种图形化的管理方式真的是很省心,很简单的。