redis cluster k8s部署

在 K8S 中快速部署 Redis Cluster & Redisinsight Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/course/detail/35475 Redis Cluster 部署 使用 Bitnami helm chart 在 K8S redis 命名空间中一键部署 Redis cluster 。 helm repo add bitnami https://charts.bitnami.com/bitnami helm 阅读详情

1创建Configmap

配置文件redis.conf如下:

appendonly yes
cluster-enabled yes
cluster-config-file /var/lib/redis/nodes.conf
cluster-node-timeout 5000
dir /var/lib/redis
port 6379
 
kubectl create configmap redis-conf --from-file=redis.conf -n redis

2创建Headless service

headless-service.yml如下:

apiVersion: v1
kind: Service
metadata:
  name: redis-service
  labels:
    app: redis
spec:
  ports:
  - name: redis-port
    port: 6379
  clusterIP: None
  selector:
    app: redis
    appCluster: redis-cluster
kubectl create -f headless-service.yml -n redis

3创建Redis 集群节点

apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
  name: redis-app
spec:
  serviceName: "redis-service"
  replicas: 6
  template:
    metadata:
      labels:
        app: redis
        appCluster: redis-cluster
    spec:
      terminationGracePeriodSeconds: 20
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - redis
              topologyKey: kubernetes.io/hostname
      containers:
      - name: redis
        image: "redis:3.2.8"
        command:
          - "redis-server"
        args:
          - "/etc/redis/redis.conf"
          - "--protected-mode"
          - "no"
        resources:
          requests:
            cpu: "100m"
            memory: "100Mi"
        ports:
            - name: redis
              containerPort: 6379
              protocol: "TCP"
            - name: cluster
              containerPort: 16379
              protocol: "TCP"
        volumeMounts:
          - name: "redis-conf"
            mountPath: "/etc/redis"
          - name: "redis-data"
            mountPath: "/var/lib/redis"
      volumes:
      - name: "redis-conf"
        configMap:
          name: "redis-conf"
          items:
            - key: "redis.conf"
              path: "redis.conf"
  volumeClaimTemplates:
  - metadata:
      name: redis-data
    spec:
      accessModes: [ "ReadWriteMany" ]
      storageClassName: rook-block2
      resources:
        requests:
          storage: 200Mi

kubectl create  -f    redis-statefulset.yaml -n redis

 

4初始化Redis集群

kubectl run -i --tty ubuntu --image=ubuntu --restart=Never /bin/bash
apt-get update
apt-get install -y vim wget python2.7 python-pip redis-tools dnsutils
pip install redis-trib==0.5.1
 

 

redis-trib.py create \
`dig +short redis-app-0.redis-service.redis.svc.cluster.local`:6379 \
`dig +short redis-app-1.redis-service.redis.svc.cluster.local`:6379 \
`dig +short redis-app-2.redis-service.redis.svc.cluster.local`:6379

redis-trib.py replicate \
--master-addr `dig +short redis-app-0.redis-service.redis.svc.cluster.local`:6379 \
--slave-addr `dig +short redis-app-3.redis-service.redis.svc.cluster.local`:6379

redis-trib.py replicate \
--master-addr `dig +short redis-app-1.redis-service.redis.svc.cluster.local`:6379 \
--slave-addr `dig +short redis-app-4.redis-service.redis.svc.cluster.local`:6379

redis-trib.py replicate \
--master-addr `dig +short redis-app-2.redis-service.redis.svc.cluster.local`:6379 \
--slave-addr `dig +short redis-app-5.redis-service.redis.svc.cluster.local`:6379

 

[root@dev7 redis-cluster]# kubectl exec -it redis-app-2 -n redis /bin/bash
root@redis-app-2:/data# redis-cli -c
127.0.0.1:6379> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:3
cluster_my_epoch:3
cluster_stats_messages_sent:1879
cluster_stats_messages_received:1879

 

5创建用于访问Service

piVersion: v1
kind: Service
metadata:
  name: redis-access-service
  labels:
    app: redis
spec:
  ports:
  - name: redis-port
    protocol: "TCP"
    port: 6379
    targetPort: 6379
  type: NodePort
  selector:
    app: redis
    appCluster: redis-cluster

 

英飞凌ADS开发环境搭建全流程:从安装到第一个程序烧录 本文详细介绍了英飞凌ADS开发环境搭建的全流程,包括环境准备、ADS安装与配置、MemTools烧录技巧等关键步骤。针对嵌入式开发者,特别提供了从安装到第一个程序烧录的实战指南,涵盖常见问题解决方案和优化建议,帮助开发者快速上手英飞凌AURIX系列微控制器的开发工作。 阅读详情

相关推荐

Win10自动更新怎么永久关闭?有效的Win10强制更新关闭方法

之前小编为大家分享过一些Win10彻底关闭Windows Update自动更新的方法,主要是通过一些如设置流量计费或借助一些专门的小工具来实现,但往往会发现,Win10自动更新就像打不死的小强,不管怎么关闭,之后还是会自动更新,让不少小伙伴颇为不爽。今天小编带来了这篇改进型教程,通过全方位设置,彻底关闭Win10自动更新,感兴趣的小伙伴不妨试试吧。 ...

jianai0602的博客 108万+

高可用的Redis-Sentinel + Kubernetes Istio(服务网格)

1. 因为 Redis Sentinel是部署在单独的命名空间(namespace)里,与其他业务应用部署的命名空间不一致。例如:namespace = redis // 部署Redis Sentinelnamespace = default // 部署其他的业务应用所以,在有关Redis和Redis Sentinel的初始化容器的运行脚本,即。

iambusy007的博客 1149

演化计算(蚁群算法、粒子群算法、遗传算法、演化规则......)

演化算法1.概念2.解决的问题 1.概念 传统算法(如梯度下降法、爬山法)根据导数的性质决定迭代的方向;而演化计算是一组解在一起协同作用产生一个最优解。 2.解决的问题 预测优化:演化计算(蚁群算法、粒子群算法、遗传算法等) 解的聚散、多样性:通过多次聚散,尽快得出最优解(某个解不合要求,要能够发散出去) ...

dear_jing的博客 4165

k8s实战案例之部署redis单机和redis cluster

redis是一款基于BSD协议,开源的非关系型数据库(nosql数据库),作者是意大利开发者Salvatore Sanfilippo在2009年发布,使用C语言编写;redis是基于内存存储,而且是目前比较流行的键值数据库(key-value database),它提供将内存通过网络远程共享的一种服务,提供类似功能的还有memcache,但相比 memcache,redis 还提供了易扩展、高性能、具备数据持久性等功能。

sdgfafg_25的博客 2824

达梦数据库与sharding-jdbc的深度适配实践

本文详细介绍了达梦数据库与sharding-jdbc的深度适配实践,包括驱动与依赖管理、核心适配实现、注册与配置等关键步骤。通过扩展shardingSphere的方式,成功实现了达梦数据库的分库分表功能,并提供了常见问题解决方案和性能优化建议,助力企业级应用高效处理海量数据。

weixin_30300225的博客 625

ST7789T3与CST816D驱动全解析,面试技巧第11篇:嵌入式面试场景问答 10 连发。

SPI模式下,SCLK、MOSI、CS、DC、RST为必需引脚;8080模式下需连接D0-D7、WR、RD等信号线。CST816D触摸芯片通常通过I2C接口通信,需连接SCL、SDA及INT(中断)引脚。确保电源引脚(VCC、GND)稳定供电,ST7789T3典型工作电压为3.3V。显示异常时检查时序参数,如SPI时钟频率(建议≤40MHz)、数据建立时间。初始化流程需发送一系列命令序列,包括设置像素格式、扫描方向、帧率控制等。扫描方向(MADCTL)可调整显示旋转角度,需根据实际硬件布局配置。

a967gsvj的博客 375

k8s部署redis集群

一般来说,REDIS部署有三种模式。单实例模式,一般用于测试环境。哨兵模式集群模式后两者用于生产部署哨兵模式在redis3.0以前,要实现集群一般是借助哨兵sentinel工具来监控master节点的状态。如果master节点异常,则会做主从切换,将某一台slave作为master。引入了哨兵节点,部署更复杂,维护成本也比较高,并且性能和高可用性等各方面表现一般。集群模式3.0 后推出的 Redis 分布式集群解决方案主节点提供读写操作,从节点作为备用节点,不提供请求,只作为故障转移使用。

m0_70618214的博客 6264

【第41篇】ConvMAE:Masked Convolution 遇到 Masked Autoencoders

摘要 论文地址:https://arxiv.org/pdf/2205.03892 视觉转换器 (ViT) 已成为各种视觉任务广泛采用的架构。用于特征预训练的掩码自动编码 [2、1、28、55] 和多尺度混合卷积变换器架构 [12、21、49、34、57] 可以进一步释放 ViT 的潜力,从而实现最先进的图像分类、检测和语义分割的艺术表演。在本文中,我们的 ConvMAE 框架证明了多尺度混合卷积变换器可以通过掩码自动编码方案学习更多的判别表示。然而,直接使用原始掩码策略会导致计算成本和预训练-微调差异。为了

AI浩 2816

K8S如何部署Redis(单机、集群)

在今天的讨论中,我们将深入研究如何将Redis数据库迁移到云端,以便更好地利用云计算的优势提高数据管理的灵活性。Redis(Remote Dictionary Server)是一个开源的、基于内存的数据结构存储系统,它可以用作数据库、缓存和消息代理。Redis支持多种数据结构,如字符串、列表、集合、散列等,具有高性能、低延迟、持久化等特点。在Kubernetes(K8S)中部署Redis是一项常见的任务,因为Redis是一个高性能的键值存储数据库,非常适合用于缓存、消息队列等场景。

muguazhi的博客 1万+

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

|~~~热爱生活、努力学习的小伙汁~~~| 1094

国科大学习资料--计算机视觉--期末考试解析

国科大学习资料–计算机视觉(胡占义)–期末考试解析 ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;

无名何许人的博客 2471

K8S部署redis集群

K8S部署redis集群

qq_24574189的博客 4400

OCR文字识别领域经典论文总结

本篇将介绍文字识别经典论文,内容包括文字检测、文字识别、端到端识别等方法,具体将分别对论文算法简介、思路、代码等几个部分展开介绍。目前各部分只举例经典论文,算法没有全部写完,后续会将在此部分基础上更新更多论文综述及代码实战部分。.................................

专注大数据与人工智能技术分享,欢迎私信加群互相学习! 1万+

Kubernetes(k8s)搭建部署redis cluster集群

本文详细介绍了在Kubernetes中部署Redis集群的两种方案:对于关键业务高要求场景推荐使用裸机/VM部署RedisCluster;对于Kubernetes环境下的缓存层则建议采用StatefulSet+RedisOperator方案。主要内容包括: 配置NFS存储服务,提供持久化存储支持 两种PV创建方式:手动创建或通过NFSCSIDriver自动创建 完整的Redis集群部署YAML文件,包含ConfigMap、Service和StatefulSet配置 初始化Redis集群的Job配置及部署流程

https://ophome.blog.youkuaiyun.com,在IT行业有多年的工作经验,尤其是在Python、Linux、负载均衡、Nginx和服务器运维等领域。 2174

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Kubernetes(K8S)部署 Redis Cluster 集群

通过以上步骤,我们使用 Kubernetes 的 ConfigMap、Service 和 StatefulSet 成功部署了 Redis Cluster 集群。在实际生产环境中,还可以根据需要调整配置和资源,以满足业务需求。

保持热爱。 1267

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

全网最详细K8S部署redis cluster

Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。Redis 通过 哨兵(Sentinel) 和自动分区(Cluster)提供高可用性(high availability)。在Redis集群中,节点负责保存数据并获取集群状态,包括将键映射到正确的节点。集群节点还能够自动发现其他节点、检测不工作的节点并在需要时将副本节点提升为主节点,以便在发生故障时继续运行。所有集群节点都使用 TCP 总线和二进制协议()连接起来。每个节点都使用集群总线连接到集群中的每个其他节点。

虽非技冠群英首,愿与同道共长歌; 大鹏一日同风起,扶摇直上九万里; 2307

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Kubernetes 部署Redis Cluster

Redis Cluster 最少需要3个Master节点,每个Master节点可以有一个或多个Slave节点。 Kubernetes YAML文件 ConfigMap保存redis.conf配置文件 --- # Redis Config apiVersion: v1 kind: ConfigMap metadata: name: redis-cluster namespace: demo data: redis.conf: | bind 0.0.0.0 port.

coco3848的博客 3189

kubernetes 部署redis cluster

kubernetes 部署redis cluster 前言 Redis cluster的集群关系的维系,并非是依赖于ip的,而是依赖于cluster内部的唯一id, ip只在首次建立集群关系时连接彼此使用,不作为成员连接凭据,取而代之的是id。画外音:只要持有id,容器重启ip怎么变化都不会影响到维系redis cluster的成员关系。 那么id怎么保存的呢?redis cluster在建立起来...

ywq935的博客 1313

k8s部署redis cluster集群

k8s以StatefulSet方式部署redis cluster集群: 1. 部署nfs 2. 创建pv 3. 部署redis 4. 初始化redis集群 主机说明: 系统 ip 角色 cpu 内存 hostname CentOS 7.8 192.168.30.128 master >=2 >=2G master1 CentOS 7.8 192.168.30.129 master >=2 >=2G master2 CentOS 7.8 192.168.30.130 no

m0_67402236的博客 535

Kubernetes 部署 Redis-Cluster

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

weixin_43354218的博客 1742

k8s 部署redis cluster集群

pod,redis相关学习资料:https://edu.51cto.com/video/4065.htmlhttps://edu.51cto.com/video/4196.htmlKubernetes 部署 Redis Cluster 集群指南 作为一名经验丰富的开发者,我很高兴能与您分享如何在 Kubernetes ...

weixin_32659481的博客 325

k8s运维实践:高可用Redis Cluster(三主三从)与Proxy部署方案

Redis Cluster 通过分片(Sharding)与主从复制(Replication)来实现高可用与水平扩展。整个集群被划分为16384 个槽位(slots),每个节点负责其中一部分槽位,客户端根据 key 的哈希值自动路由到对应节点。为了保证高可用,每个主节点(Master)通常配有一个或多个从节点(Replica),在主节点故障时从节点可自动提升为新的主节点。

沉淀自己 1692

k8s部署redis-cluster+predixy集群

k8s部署redis-cluster+predixy集群

lucas5的博客 2170
上一篇: k8s cicd (jenkins + gitops)
下一篇: k8s测试环境部署round2
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值