生活工程体验信仰哲学精神
投稿投诉
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

云原生Redisonk8s编排部署讲解与实战操作

7月3日 望北海投稿
  一、概述
  REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的keyvalue存储系统,是跨平台的非关系型数据库。
  Redis有三种集群模式:主从模式,Sentinel(哨兵)模式,Cluster模式,这三种模式环境编排部署都会在本文章介绍与实战操作。
  想了解更多关于redis概念与原理介绍,可参考我这篇文章:Redis原理介绍与环境部署(主从模式、哨兵模式、集群模式)
  二、redis主从模式编排部署实战操作
  地址:https:artifacthub。iopackageshelmbitnamiredis1)下载chart包helmrepoaddbitnamihttps:charts。bitnami。combitnamihelmpullbitnamiredisversion17。3。7tarxfredis17。3。7。tgz2)构建镜像
  这里就不重新构建镜像了,只是把远程镜像tag一下,推到本地harbor仓库加速下载镜像。有不清楚怎么构建镜像的小伙伴,可以私信或者留言。dockerpulldocker。iobitnamiredis:7。0。5debian11r7tagdockertagdocker。iobitnamiredis:7。0。5debian11r7myharbor。combigdataredis:7。0。5debian11r7推送镜像到本地harbor仓库dockerpushmyharbor。combigdataredis:7。0。5debian11r73)修改yaml编排redistemplatesmasterpv。yaml
  新增pv。yaml文件,内容如下:{{range。Values。master。persistence。local}}apiVersion:v1kind:PersistentVolumemetadata:name:{{。name}}labels:name:{{。name}}spec:storageClassName:{{。Values。master。persistence。storageClass}}capacity:storage:{{。Values。master。persistence。size}}accessModes:ReadWriteOncelocal:path:{{。path}}nodeAffinity:required:nodeSelectorTerms:matchExpressions:key:kubernetes。iohostnameoperator:Invalues:{{。host}}{{end}}redistemplatesreplicaspv。yaml
  新增pv。yaml文件,内容如下:{{range。Values。replica。persistence。local}}apiVersion:v1kind:PersistentVolumemetadata:name:{{。name}}labels:name:{{。name}}spec:storageClassName:{{。Values。replica。persistence。storageClass}}capacity:storage:{{。Values。replica。persistence。size}}accessModes:ReadWriteOncelocal:path:{{。path}}nodeAffinity:required:nodeSelectorTerms:matchExpressions:key:kubernetes。iohostnameoperator:Invalues:{{。host}}{{end}}redisvalues。yamlglobal:redis:password:123456。。。image:registry:myharbor。comrepository:bigdataredistag:7。0。5debian11r7master:count:1persistence:enabled:truesize:8GistorageClass:localredisstoragelocal:name:redis0host:local168182110path:optbigdataserversredisdatadata1replica:replicaCount:2persistence:enabled:truesize:8GistorageClass:localredisstoragelocal:name:redis1host:local168182111path:optbigdataserversredisdatadata1name:redis2host:local168182112path:optbigdataserversredisdatadata14)开始部署创建存储目录mkdiroptbigdataserversredisdatadata1先检查语法helmlint。redis开始安装helminstallredis。redisnrediscreatenamespace
  NOTESREVISION:1TESTSUITE:NoneNOTES:CHARTNAME:redisCHARTVERSION:17。3。7APPVERSION:7。0。5PleasebepatientwhilethechartisbeingdeployedRediscanbeaccessedonthefollowingDNSnamesfromwithinyourcluster:redismaster。redis。svc。cluster。localforreadwriteoperations(port6379)redisreplicas。redis。svc。cluster。localforreadonlyoperations(port6379)Togetyourpasswordrun:exportREDISPASSWORD(kubectlgetsecretnamespaceredisredisojsonpath{。data。redispassword}base64d)ToconnecttoyourRedisserver:1。RunaRedispodthatyoucanuseasaclient:kubectlrunnamespaceredisredisclientrestartNeverenvREDISPASSWORDREDISPASSWORDimagemyharbor。combigdataredis:7。0。5debian11r7commandsleepinfinityUsethefollowingcommandtoattachtothepod:kubectlexecttyiredisclientnamespaceredisbash2。ConnectusingtheRedisCLI:REDISCLIAUTHREDISPASSWORDredisclihredismasterREDISCLIAUTHREDISPASSWORDredisclihredisreplicasToconnecttoyourdatabasefromoutsidetheclusterexecutethefollowingcommands:kubectlportforwardnamespaceredissvcredismaster6379:6379REDISCLIAUTHREDISPASSWORDredisclih127。0。0。1p6379
  5)测试验证kubectlgetpods,svcnredisowide
  登录master,可读可写kubectlexecitredismaster0nredisredisclihredismastera(kubectlgetsecretnamespaceredisredisojsonpath{。data。redispassword}base64d)登录slave,只读kubectlexecitredismaster0nredisredisclihredisreplicasa(kubectlgetsecretnamespaceredisredisojsonpath{。data。redispassword}base64d)
  6)卸载helmuninstallredissentinelnredissentineldeletenskubectldeletensredissentinelforcedeletepvkubectldeletepvkubectlgetpvgrepredisawk{print1}forcermfroptbigdataserversredisdatadata1三、redis哨兵模式编排部署实战操作
  主从模式的弊端就是不具备高可用性,当master挂掉以后,Redis将不能再对外提供写入操作,因此sentinel应运而生。
  1)构建镜像
  这里也重新构建镜像了,有不懂构建镜像的小伙伴可以在评论下方留言。这里也只是把远程的镜像推送到本地harbor。dockerpulldocker。iobitnamiredissentinel:7。0。5debian11r6tagdockertagdocker。iobitnamiredissentinel:7。0。5debian11r6myharbor。combigdataredissentinel:7。0。5debian11r6pushdockerpushmyharbor。combigdataredissentinel:7。0。5debian11r62)修改yaml编排redissentinelvalues。yamlreplica:replica。replicaCount与sentinel。quorum值一样replicaCount:3storageClass:localredisstoragelocal:name:redis0host:local168182110path:optbigdataserversredisdatadata1name:redis1host:local168182111path:optbigdataserversredisdatadata1name:redis2host:local168182112path:optbigdataserversredisdatadata1sentinel:enabled:trueimage:registry:myharbor。comrepository:bigdataredissentineltag:7。0。5debian11r6quorum:3redissentineltemplatesreplicaspv。yaml
  新增pv。yaml文件,内容如下:{{range。Values。sentinel。persistence。local}}apiVersion:v1kind:PersistentVolumemetadata:name:{{。name}}labels:name:{{。name}}spec:storageClassName:{{。Values。sentinel。persistence。storageClass}}capacity:storage:{{。Values。sentinel。persistence。size}}accessModes:ReadWriteOncelocal:path:{{。path}}nodeAffinity:required:nodeSelectorTerms:matchExpressions:key:kubernetes。iohostnameoperator:Invalues:{{。host}}{{end}}3)开始部署创建存储目录mkdirpoptbigdataserversredisdatadata1helminstallredissentinel。redissentinelnredissentinelcreatenamespace
  NOTESNAME:redissentinelLASTDEPLOYED:FriNov422:42:522022NAMESPACE:redissentinelSTATUS:deployedREVISION:1TESTSUITE:NoneNOTES:CHARTNAME:redisCHARTVERSION:17。3。7APPVERSION:7。0。5PleasebepatientwhilethechartisbeingdeployedRediscanbeaccessedviaport6379onthefollowingDNSnamefromwithinyourcluster:redissentinel。redissentinel。svc。cluster。localforreadonlyoperationsForreadwriteoperations,firstaccesstheRedisSentinelcluster,whichisavailableinport26379usingthesamedomainnameabove。Togetyourpasswordrun:exportREDISPASSWORD(kubectlgetsecretnamespaceredissentinelredissentinelojsonpath{。data。redispassword}base64d)ToconnecttoyourRedisserver:1。RunaRedispodthatyoucanuseasaclient:kubectlrunnamespaceredissentinelredisclientrestartNeverenvREDISPASSWORDREDISPASSWORDimagemyharbor。combigdataredis:7。0。5debian11r7commandsleepinfinityUsethefollowingcommandtoattachtothepod:kubectlexecttyiredisclientnamespaceredissentinelbash2。ConnectusingtheRedisCLI:REDISCLIAUTHREDISPASSWORDredisclihredissentinelp6379ReadonlyoperationsREDISCLIAUTHREDISPASSWORDredisclihredissentinelp26379SentinelaccessToconnecttoyourdatabasefromoutsidetheclusterexecutethefollowingcommands:kubectlportforwardnamespaceredissentinelsvcredissentinel6379:6379REDISCLIAUTHREDISPASSWORDredisclih127。0。0。1p6379
  查看kubectlgetpods,svcnredissentinelowide
  4)模拟故障测试查看kubectlexecitredissentinelnode0nredissentinelredisclihredissentinela(kubectlgetsecretnamespaceredissentinelredissentinelojsonpath{。data。redispassword}base64d)inforeplication
  模拟故障,killmasterpodkubectldeletepodredissentinelnode0nredissentinel
  再次查看master所在节点,master节点已经切换到其它节点了。
  再测试读写登录master节点kubectlexecitredissentinelnode0nredissentinelredisclihredissentinelnode2。redissentinelheadlessa(kubectlgetsecretnamespaceredissentinelredissentinelojsonpath{。data。redispassword}base64d)登录slave节点kubectlexecitredissentinelnode0nredissentinelredisclihredissentinelnode0。redissentinelheadlessa(kubectlgetsecretnamespaceredissentinelredissentinelojsonpath{。data。redispassword}base64d)
  5)卸载helmuninstallredissentinelnredisdeletenskubectldeletensredisforcedeletepvkubectldeletepvkubectlgetpvgrepredisawk{print1}forcermfroptbigdataserversredisdatadata1四、redis集群模式编排部署实战操作
  集群模式可以说是sentinel主从模式的结合体,通过cluster可以实现主从和master重选功能,所以如果配置两个副本三个分片的话,就需要六个Redis实例。因为Redis的数据是根据一定规则分配到cluster的不同机器的,当数据量过大时,可以新增机器进行扩容。
  1)下载chart包helmrepoaddbitnamihttps:charts。bitnami。combitnamihelmpullbitnamiredisclusterversion8。2。7tarxfrediscluster8。2。7。tgz2)构建镜像
  这里就不重新构建镜像了,只是把远程镜像tag一下,推到本地harbor仓库加速下载镜像。有不清楚怎么构建镜像的小伙伴,可以私信或者留言。dockerpulldocker。iobitnamirediscluster:7。0。5debian11r9tagdockertagdocker。iobitnamirediscluster:7。0。5debian11r9myharbor。combigdatarediscluster:7。0。5debian11r9推送镜像到本地harbor仓库dockerpushmyharbor。combigdatarediscluster:7。0。5debian11r93)修改yaml编排redisclustertemplatespv。yaml
  新增pv。yaml文件,内容如下:{{range。Values。persistence。local}}apiVersion:v1kind:PersistentVolumemetadata:name:{{。name}}labels:name:{{。name}}spec:storageClassName:{{。Values。persistence。storageClass}}capacity:storage:{{。Values。persistence。size}}accessModes:ReadWriteOncelocal:path:{{。path}}nodeAffinity:required:nodeSelectorTerms:matchExpressions:key:kubernetes。iohostnameoperator:Invalues:{{。host}}{{end}}password:123456。。。image:registry:myharbor。comrepository:bigdataredisclustertag:7。0。5debian11r9。。。persistence:storageClass:localredisclusterstoragelocal:name:rediscluster0host:local168182110path:optbigdataserversredisclusterdatadata1name:rediscluster1host:local168182110path:optbigdataserversredisclusterdatadata2name:rediscluster2host:local168182110path:optbigdataserversredisclusterdatadata3name:rediscluster3host:local168182111path:optbigdataserversredisclusterdatadata1name:rediscluster4host:local168182111path:optbigdataserversredisclusterdatadata2name:rediscluster5host:local168182111path:optbigdataserversredisclusterdatadata3name:rediscluster6host:local168182112path:optbigdataserversredisclusterdatadata1name:rediscluster7host:local168182112path:optbigdataserversredisclusterdatadata2name:rediscluster8host:local168182112path:optbigdataserversredisclusterdatadata3cluster:init:true一主两从(三组)nodes:9replicas:24)开始部署创建存储目录mkdirpoptbigdataserversredisclusterdatadata{1。。3}helminstallrediscluster。redisclusternredisclustercreatenamespace
  NOTESNOTES:CHARTNAME:redisclusterCHARTVERSION:8。2。7APPVERSION:7。0。5PleasebepatientwhilethechartisbeingdeployedTogetyourpasswordrun:exportREDISPASSWORD(kubectlgetsecretnamespaceredisclusterredisclusterojsonpath{。data。redispassword}base64d)YouhavedeployedaRedisClusteraccessibleonlyfromwithinyouKubernetesCluster。INFO:TheJobtocreatetheclusterwillbecreated。ToconnecttoyourRediscluster:1。RunaRedispodthatyoucanuseasaclient:kubectlrunnamespaceredisclusterredisclusterclientrmttyirestartNeverenvREDISPASSWORDREDISPASSWORDimagemyharbor。combigdatarediscluster:7。0。5debian11r9bash2。ConnectusingtheRedisCLI:redisclichredisclusteraREDISPASSWORD
  查看kubectlgetpods,svcnredisclusterowide
  5)故障模拟测试kubectlexecitrediscluster0nredisclusterredisclichredisclustera(kubectlgetsecretnamespaceredisclusterredisclusterojsonpath{。data。redispassword}base64d)CLUSTERINFOkubectlexecitrediscluster0nredisclusterredisclichredisclustera(kubectlgetsecretnamespaceredisclusterredisclusterojsonpath{。data。redispassword}base64d)CLUSTERNODES
  删除其中一个master节点kubectldeletepodrediscluster1nrediscluster再查看节点情况kubectlexecitrediscluster0nredisclusterredisclichredisclustera(kubectlgetsecretnamespaceredisclusterredisclusterojsonpath{。data。redispassword}base64d)CLUSTERNODES
  6)卸载helmuninstallredisclusternredisclusterdeletenskubectldeletensredisclusterforcedeletepvkubectldeletepvkubectlgetpvgrepredisclusterawk{print1}forcermfroptbigdataserversredisclusterdatadata{1。。3}
  git地址:https:gitee。comhadoopbigdataredisonk8s
  Redisonk8s三种模式的编排部署就先到这里了,小伙伴有任何疑问,欢迎给我留言哦,后续会持续更新【大数据云原生】相关的问题
投诉 评论 转载

别人出厂即巅峰,华为Mate50系列却越用越好用!原来背后秘说起目前市面上受关注度最高的手机产品,一定非华为Mate50系列莫属。作为华为王者归来的旗舰之作,华为Mate50系列不仅在硬件配置上直接拉满,更是在鸿蒙系统优化方面不断钻研。……换新造句用换新造句大全91、“营”盘里面重相聚,“小”时天真又烂漫,“学”童一起无拘束,“百”尺竿头进一步,“年”轻时候好读书,“校”舍旧貌换新颜,“庆”贺典礼留诗赋。92、元旦彩旗哗啦啦地响……云原生Redisonk8s编排部署讲解与实战操作一、概述REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的keyvalue存储系统,是跨平台的非关系型数据库。……水缸造句用水缸造句大全61。九爷看了一下,并且停留,随后拿着一个喂猪的火铲伸进去往水缸的边缘轻轻一挤立刻掀起一堆骨骸来。62。一切归于平静,比静静流淌着的莱茵河还要一波未兴,这其间有阳台脉脉的……创业的本质是什么?3000长文破解千年创业败多胜少的魔咒导语:创业的本质是什么?这个问题,谁在意呢?创业除了赚钱,还能是什么?如果你以为创业的本质,就是赚钱,那么恭喜你,一开始你就输了,创业失败,就在不远处等……油价调整消息今天10月16号,调整后各地929598汽油价格油价变动会影响到大家日常生活质量,所以每次油价调整都牵扯着各位的心,截至目前收集到的数据来看,此次油价调整幅度还是处于上调阶段,虽然原油变化率不断地走低,但是还需要原油价格再出……我的钢笔我有一支心爱的钢笔,是我刚上三年级的时候妈妈给我买的。它漂亮可爱、结实耐用。它的颜色像树的叶子一样碧绿。它的形状是圆柱形的,像一个碧绿的小棍子。它的笔帽非常绿,扣子是黑色……2023年来喽!春夏秋冬,总有一个季节让你爱上开远来源:【云南日报】2023年来喽新的一年让开远文旅陪你走过春夏秋冬一月新年伊始,去爬一次山吧。登上南洞凤凰谷玻璃天桥,迎接新年的第一缕阳光,……万字研报Web3全景扫描,营销热潮还是技术革命?免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表MarsBit官方立场。小编:记得关注哦来源:MarsBit原文标题:Web……来临之际造句用来临之际造句大全一百二十一、建党周年来临之际,我踏着建党的足迹,怀揣着一颗炽热的红心,为你送去我的红色祝福:及时转发短信,满堂红非你莫属哦!一百二十二、没有寒冬的冷冽,没有金秋的丰收,没……老年人突然拉肚子慎防疾病中医学把腹泻分为以下几种证型:湿热型,处在夏秋交替时节,夏天的湿热之气未完全衰退,老人很容易受外邪侵袭,表现为发热,大便黏液样,臭味较重;风寒型,初秋早晚温差较大,……原创内蒙古大兴安岭考察印象(十六)文:兰云峰编辑:司徒苍狼白鹿蒙古民族之起源传说(一)激流河奔腾不息,穿越莫尔道嘎国家森林公园,向着额尔古纳河流去。河道中有两个修长的小岛,相偎而卧,河水呈S形……
吃鸡新转盘兑换商店来了,升级徽章价格很夸张,跑车被删除不甘,不躺平华为Mate50首发核心科技出炉,华为Mate40沦为百元机63岁施之皓现状赴巴新执教,二婚娶弟子李楠,弃用郭跃引争议巴旦木的功效与作用不可错过的养生滋补品为什么说AG在世界赛失利,对于AG,对于梦泪而言却是血赚不亏家风家训一次难忘的蜕变城市文化时代城市黄金时代城市元宇宙时代ampampquot豪华之旅ampampquot恶魔的放纵之一为东亚杯牺牲联赛!当红国脚出征,战日韩抢积分!遏制排名下滑喝水多了会有坏处吗人社部:四季度快递处理员等15个职业短缺程度加大分手后一定不要做的件事感官课堂关于祛斑美白类化妆品你不得不知道的事足底筋膜炎可以跑步吗利用QQ群打造细分领域专业知识分享的网络赚钱项目短发女生夏季清爽甜美发型时尚短发俏丽修颜我的手表精选小学生作文化学反应与能量变化有哪些知识点?日给新手做博客的一些忠告蛋壳难剥是新鲜还是不新鲜为什么蛋壳不难剥鼠年最新柏姓女孩名字精选好听的柏姓女孩名字大全

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找