有没有可能在kubernetes的不同工作节点中存在的应用程序的两个pod/示例之间共享一个集中式存储/卷?
为了解释我的情况:
我有一个kubernetes集群,有两个工作节点。在每一个例子中,我都有一个appx运行示例。这意味着我有两个appx示例同时运行。
这两个示例都订阅主题topicx,该主题有2个分区,是apachekafka中名为groupx的使用者组的一部分。
据我所知,消息负载将在分区之间进行分配,但也会在使用者组中的使用者之间进行分配。到目前为止还不错,对吧?
所以我的问题是:
在我的整个解决方案中,我有一个按国家和id唯一约束的层次划分。国家和id的每个组合都有一个pickle模型(python机器学习模型),它存储在应用程序访问的目录中。对于每个国家和身份证的组合,我每分钟收到一条信息。
目前我有两个国家,所以为了能够适当地扩展,我想在appx的两个示例之间分配负载,每个示例处理自己的国家。
问题是,使用kafka可以在不同的示例之间平衡消息,要访问每个示例中的pickle文件而不知道消息属于哪个国家,我必须在两个示例中存储pickle文件。
有办法解决这个问题吗?我宁愿保持尽可能简单的设置,以便它是容易的规模和增加第三,第四和第五个国家以后。
请记住,这是一种过度简化的解释问题的方法。示例的数量在现实中要高得多等等。
1条答案
按热度按时间omvjsjqw1#
对。如果你再看看这张table,是有可能的
PV
(物理卷)支持ReadWriteMany
这将帮助您为您的Kafka工作人员实现相同的数据存储。所以总结一下:蓝宝石
cephfs公司
胶合物
夸拜特
nfs系统
vspherevolume-(在豆荚并置时工作)
PortWorx卷
在我看来,nfs是最容易实现的。请注意,azurefile、quobyte和portworx是付费解决方案。