zoukankan      html  css  js  c++  java
  • Kubernetes下的Redis主从配置架构

    文章看了一大堆,但都是直接从各种地方直接拉master,slave镜像,没有交代这些镜像如何构建出来的

    好把,我这篇就讲讲这些master,slave镜像如何做成.

    先得找到一个标准的redis镜像,比如docker pull index.tenxcloud.com/docker_library/redis:3.0(镜像我没验证过,我是拿的公司的标准映像尝试的)

    然后从镜像里面把redis.conf拷贝出来。

    在机器上构建一个目录master:

    里面包含Dockerfile,redis-master.conf,run.sh

    redis-master.conf和拷贝出来的redis.conf一致,除了一处修改

    protected-mode no

    Dockerfile为

    FROM index.tenxcloud.com/docker_library/redis:3.0
    
    COPY redis-master.conf /usr/local/etc/redis/redis.conf
    
    COPY run.sh /run.sh
    
    CMD [ "/run.sh" ]

    run.sh脚本为

    redis-server /usr/local/etc/redis/redis.conf --protected-mode no

    通过下面构建出来master

    docker build -t ericnie/redis-master:3.0  .

    同样建立一个redis-slave目录,和master类似,有几处不同,redis-slave.conf配置,打开slaveof

    slaveof %master-ip% %master-port% 

    run.sh为

    sed -i "s/%master-ip%/${REDIS_MASTER_IP}/" /usr/local/etc/redis/redis.conf
    sed -i "s/%master-port%/{REDIS_MASTER_PORT}/" /usr/local/etc/redis/redis.conf
    redis-server /redis-slave/redis.conf --protected-mode no

    ${REDIS_MASTER_IP}和${REDIS_MASTER_PORT}为创建images的时候通过ENV变量带入。

    通过下面命令构建slave

    docker build -t ericnie/redis-slave:3.0  .
  • 相关阅读:
    iOS中SQLite知识点总结1
    iOS/mac开发的一些知名个人博客
    ReactiveCocoa框架学习2
    安装visual studio2017后 首次启动出现ActivityLog.xml异常解决方法
    《软工实践》第零次作业
    在Android Studio2.3中配置OpenCV4Android SDK
    【Try Kotlin】Kotlin Koans 代码笔记
    树-二叉搜索树-AVL树
    八种常见排序算法
    迷の衬衫()
  • 原文地址:https://www.cnblogs.com/ericnie/p/7896148.html
Copyright © 2011-2022 走看看