簡體   English   中英

在Kubernetes的工作節點之間共享存儲/卷?

[英]Share storage/volume between worker nodes in Kubernetes?

是否有可能在Kubernetes的不同工作程序節點中存在的應用程序的兩個Pod /實例之間共享一個集中式存儲/卷?

所以解釋一下我的情況:

  • 我有一個帶有2個工作節點的Kubernetes集群。 在每一個中,我都有1個正在運行的App X實例。 這意味着我有兩個App X實例完全同時運行。

  • 這兩個實例都訂閱了具有兩個分區的topicX主題,它們是Apache Kafka中名為groupX的使用者組的一部分。

據我了解,消息負載將在分區之間分配,但在消費者組中的消費者之間也會分配。 到目前為止一切順利,對嗎?

所以對我的問題:

  • 在我的整個解決方案中,我有一個按國家和ID唯一約束的層次結構划分。 國家和ID的每種組合都有一個pickle模型(python機器學習模型),該模型存儲在應用程序訪問的目錄中。 對於一個國家/地區和ID的每種組合,我每分鍾都會收到一條消息。

  • 目前,我有2個國家/地區,因此,為了能夠進行適當的擴展,我想在兩個應用X實例之間分配負載,每個實例處理自己的國家/地區。

  • 問題在於,使用Kafka可以在不同實例之間平衡消息,並且在不知道消息屬於哪個國家的情況下訪問每個實例中的pickle文件時,我必須在兩個實例中存儲pickle文件。

有辦法解決嗎? 我希望設置盡可能簡單,以便在以后擴展和添加第三,第四和第五個國家時很容易。

請記住,這是解釋問題的過於簡化的方法。 實際上,實例數要多得多。

是。 如果您查看此表,任何支持ReadWriteMany PV (物理卷)都可以幫助您為Kafka工人完成相同的數據存儲。 因此,這些總結如下:

  • Azure文件
  • 頭文件
  • Glusterfs
  • 兆字節
  • NFS
  • VsphereVolume-(在吊艙並置時有效)
  • Portworx卷

我認為,NFS是最容易實現的。 請注意,Azurefile,Quobyte和Portworx是付費解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM