首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在kubernetes中部署不同持久卷的多个redis (无集群) pod

如何在kubernetes中部署不同持久卷的多个redis (无集群) pod
EN

Stack Overflow用户
提问于 2020-06-11 21:36:40
回答 1查看 438关注 0票数 0

我将在多个pod中部署我的golang应用程序,另一方面部署多个redis节点,每个节点都有自己的持久化卷,这意味着每个节点都有不同的数据,如下所示,您能告诉我如何使用Kubernetes来实现这一点吗?我会有一个go应用程序的部署与3副本,因为他们是无状态的,这部分很容易,但对于redis我也将有另一个部署与3副本,但我应该如何让kuebernetes连接每个pod与不同的PV?

代码语言:javascript
复制
----------              ----------
| Go-app |  ----------- | Redis-1 |
----------              ----------
                            |__ PV-1

----------              ----------
| Go-app |  ----------- | Redis-2 |
----------              ----------
                            |__ PV-2

----------              ----------
| Go-app |  ----------- | Redis-3 |
----------              ----------
                            |__ PV-3
EN

回答 1

Stack Overflow用户

发布于 2020-06-12 00:37:58

您可以安装bitnami redis helm chart来创建每个具有自己持久性的redis pod,storage.You可以配置helm chart中的所有属性。但在这种情况下,应用程序pod将不会映射到redis,就像在diagram.The图表中安装状态集redis一样。您可以通过redis.namespace.svc.cluster.local访问redis节点。

一般来说,为了可伸缩性和可用性,最好将应用程序部署和redis部署分开。

但是,您的特定用例可以通过创建一个StatefulSet来实现,其中每个pod中都有两个容器:

主应用程序container

  • Redis容器(作为sidecar)

)的

然后,您可以为StatefulSet Yaml中的每个pod指定持久卷。在这里,实现您的情况的概念是Sidecar模式,其中支持容器可以与主容器一起部署在同一pod.Though中,建议创建仅包含一个容器的pod。在需要高可用性和可伸缩性的情况下,您应该将redis作为单独的部署来运行,而不是sidecar。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62325696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档