Kubernetes 创建redis集群的时候 会在所有的子节点创建。一个redis-master和两个redis-slave,两个redis-slave从redis-master进行同步数据使用程序写入的时候写入master 从数据库都有数据了。

创建redis-master-controller.yaml

[root@k8s-master-1 ~]# vim redis-master-controller.yamlapiVersion: v1
kind: ReplicationController
metadata:
  name: redis-master
spec:
  replicas: 1
  selector:
    name: redis-master
  template:
    metadata:
      name: redis-master
      labels:
        name: redis-master
    spec:
      containers:
      - name: redis-master
        image: kubeguide/redis-master
        ports:
        - containerPort: 6379

发布到kubernetes集群,自动创建pod

[root@k8s-master-1 ~]# kubectl create -f redis-master-controller.yaml [

root@k8s-master-1 ~]# kubectl get rc

[root@k8s-master-1 ~]# kubectl get pods

创建redis-master-service.yaml

[root@k8s-master-1 ~]# vim redis-master-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis-master
  labels:
    name: redis-master
spec:
  type: NodePort
  ports:
  - port: 6379
    targetPort: 6379
    nodePort: 30001
  selector:
    name: redis-master

发布到kubernetes集群,自动创建service

[root@k8s-master-1 ~]# kubectl create -f redis-master-service.yaml

[root@k8s-master-1 ~]# kubectl get services

创建redis-slave-controller.yaml

[root@k8s-master-1 ~]# vim redis-slave-controller.yaml

apiVersion: v1
kind: ReplicationController
metadata:
  name: redis-slave
spec:
  replicas: 2
  selector:
    name: redis-slave
  template:
    metadata:
      name: redis-slave
      labels:
        name: redis-slave
    spec:
      containers:
      - name: redis-slave
        image: kubeguide/guestbook-redis-slave
        env:
        - name: GET_HOSTS_FROM
          value: env
        ports:
        - containerPort: 6379

发布到kubernetes集群,自动创建pod

[root@k8s-master-1 ~]# kubectl create -f redis-slave-controller.yaml

[root@k8s-master-1 ~]# kubectl get rc

[root@k8s-master-1 ~]# kubectl get pods

创建redis-slave-service.yaml

[root@k8s-master-1 ~]# vim redis-slave-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: redis-slave
  labels:
    name: redis-slave
spec:
  type: NodePort
  ports:
  - port: 6379
    nodePort: 30002
  selector:
    name: redis-slave

发布到kubernetes集群,自动创建service

[root@k8s-master-1 ~]# kubectl create -f redis-slave-service.yaml

[root@k8s-master-1 ~]# kubectl get services

删除pod,svc

[root@k8s-master-1 ~]# kubectl delete -f redis-master-controller.yaml

[root@k8s-master-1 ~]# kubectl delete -f redis-master-service.yaml [

root@k8s-master-1 ~]# kubectl delete -f redis-slave-controller.yaml

[root@k8s-master-1 ~]# kubectl delete -f redis-slave-service.yaml

暴露的master端口 30001

node端口 30002 因为node是副本创建的创建了2个连接一个测试就可以了。从只读 无法删除新增 master可以新增删除

SpringBoot连接redis主从配置

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

spring.redis.database=0
spring.redis.host=masterip
spring.redis.port=30001
spring.redis.pool.testOnBorrow=true
spring.redis.pool.blockWhenExhausted=true
spring.redis.pool.numTestsPerEvictionRun=3
spring.redis.pool.timeBetweenEvictionRunsMillis=-1

@SpringBootApplication
@RestController
public class DemoApplication {

@Autowired
    private StringRedisTemplate stringRedisTemplate;

public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

@RequestMapping(value = "/")
    public void init(){
        stringRedisTemplate.opsForValue().set("messages" ,String.valueOf(System.currentTimeMillis()));
        String s = stringRedisTemplate.opsForValue().get("messages").toString();
        System.out.println(s);
    }
}

****新增的时候会同步到从库,读取的时候回随机从从库读取的***

k8s-redis 集群部署(李作强)相关推荐

  1. k8s部署zookeeper,kafka集群(李作强)

    采用网上镜像:mirrorgooglecontainers/kubernetes-zookeeper:1.0-3.4.10 准备共享存储:nfs,glusterfs,seaweed或其他,并在node ...

  2. k8s部署MongoDB集群(李作强)

    编写service的文件: [root@k8s-master-1 mongodb]# vim service.yaml apiVersion: v1 kind: Service metadata: n ...

  3. Redis集群部署文档(Ubuntu15.10系统)

    Redis集群部署文档(Ubuntu15.10系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系 ...

  4. 3.redis集群部署3主3从

    redis集群部署 一:安装redis (使用redis3.0.6版本),同<1.redis安装> 1.下载源码 $ tar xzf redis-3.0.6.tar.gz $ cd red ...

  5. 这一篇 K8S(Kubernetes)集群部署 我觉得还可以

    点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 国内安装K8S的四种途径 Kubernetes 的安装其实并不复杂,因为Kubernetes 属 ...

  6. 自动化运维之k8s——Kubernetes集群部署、pod、service微服务、kubernetes网络通信

    目录 一.Kubernetes简介 1.Kubernetes简介 2.kubernetes设计架构 3.Kubernetes核心组件 4.kubernetes设计结构 二.Kubernetes部署 1 ...

  7. redis集群部署步骤

    1.yum 安装依赖 yum install gcc unzip wget 2.编译安装redis,编译安装的目的是源码包内包含了接下来创建redis集群所需要的 redis-trib.rb脚本 ma ...

  8. redis集群部署一直卡在Waiting for the cluster to join ......

    2019独角兽企业重金招聘Python工程师标准>>> 里是redis多机多节点集群部署的问题解决! 这个是困扰了我最久的问题,使用cluster meet ip port命令无效, ...

  9. k8s dashboard_k8s集群部署Dashboard

    部署Dashboard(Web UI) * dashboard-deployment.yaml // 部署Pod,提供Web服务 * dashboard-rbac.yaml // 授权访问apiser ...

  10. Redis集群部署(半自动)

    1.安装Redis 参考:Redis单机版半自动安装 2.集群配置 方便起见我们是用一台虚拟机部署集群,使用不同的端口号进行区分不同的节点,规划如下表: 角色 IP 端口号 master-0 127. ...

最新文章

  1. Vue.js的复用组件开发流程
  2. @description iPhoneX炫彩渐变背景实现
  3. Linux下搭建asp.net运行环境
  4. 微信小程序需要https后台的创业机会思考
  5. .net core 杂记:用Autofac替换内置容器
  6. 使用 TABLESAMPLE 限制结果集
  7. IDEA编译运行Springboot+vue项目卡死,一直building和copying resources
  8. vue弹层时禁止页面滚动
  9. base64码通过http传输 +号变 空格 以及 图片编码后字符串较长导致POST提交失败 问题解决...
  10. java 基础 —— 文件操作(File)
  11. 延时执行和取消延时执行
  12. 智能会议系统集成解决方案
  13. java实现的PC小说下载器+阅读器
  14. 根据王小云教授的算法写的MD5碰撞的程序[c源代码]
  15. 《HTML CSS JavaScript 网页制作》第六章-创建框架结构网页
  16. sklearn.utils.Bunch的属性
  17. 【BZOJ1001】狼抓兔子
  18. Geometric GAN
  19. MarkDown折叠语法
  20. office出现应用程序错误无法正常启动(0xc0000142)

热门文章

  1. 基于Kibana的可视化监控报警插件 KAAE 的配置
  2. Win10环境下yolov8快速配置与测试
  3. 第20天-WEB漏洞-文件上传之基础及过滤方式
  4. 学术腐败从娃娃抓起:21岁外企副总真相
  5. SpringBoot Consider defining a bean of type 'com.xxx.xxx.dao.UserDao' in your configuration.
  6. 云计算和超级计算机一样吗,云计算和超级计算机有什么关系?
  7. 《祝全世界最好的女孩生日快乐》
  8. 帮助类HLHelper(持续更新)
  9. PADS使用过程中出现“发生严重的运行错误,请按“确认”关闭程序”的解决方法
  10. IPv4 与 IPv6 的比较