3

下管理Cassandra的數據存儲容量和備份,我想使用這裏給出的例子在谷歌集裝箱引擎運行Kubernetes下卡桑德拉集羣:https://github.com/kubernetes/kubernetes/tree/master/examples/storage/cassandraKubernetes

該文件描述了3種方式來設置集羣 - PetSet(StatefulSet ),複製控制器和DaemonSet。他們每個人都有其優點和缺點。

雖然試圖爲我選擇最好的設置,但我注意到我無法弄清楚如何處理存儲和備份。

  1. 如何設置或縮放的存儲大小(增加/減少節點/集羣數據存儲大小而無數據丟失)?
  2. 如何管理備份和恢復?
+0

將存儲附加到節點/羣集的一個選項是使用[FUSE適配器](https://雲)將[Google雲端存儲](https://cloud.google.com/storage/docs/)映射爲網絡磁盤。 google.com/storage/docs/gcs-fuse)。如果爲您的Kubernetes集羣配置[複製控制器](http://kubernetes.io/docs/user-guide/replication-controller/),它將確保指定數量的Pod在任何時候都在運行。 – Faizan

+0

@Faizan與我的問題沒有多大關係......我無法控制在一個實例中運行的pod,因此當pods重新啓動或縮放並且多個pod在同一實例上運行時,我可以輕鬆搞定。我很確定存儲應該連接到一個容器而不是一個節點。永遠不會少,它不能幫助我擴展存儲和管理備份。 – Idan

+0

@Idan你問過這個問題後,你有沒有找到解決方案?我現在面臨同樣的情況。 – sev3ryn

回答

1

你一定要從ClusterHQ中檢查出Flocker和Flockerhub。我一直在玩弄他們的產品,以便用POC證明集裝箱化的分片數據庫可以以簡單和易於管理的方式完成。請務必檢查它們: https://clusterhq.com/

他們正在處理數據的方式與處理碼頭圖像的方式相同。因此,您將能夠將數據卷推送到集線器/存儲庫。

+0

看起來像一個很好的產品。但是這是一個卷驅動程序,可確保您的容器在重新啓動後可以使用自己的卷數據運行而不是空的數據。缺點是1)不太確定它如何與複製控制器一起工作(將繼續閱讀)2)您需要預先創建所有卷(不自動縮放)3)不調整現有卷的大小。 – Idan

1

簡而言之,在kubernetes中沒有辦法做到這一點。 Kubernetes在存儲管理方面做得很少。

如果您可以靈活選擇其他解決方案,check this out

他們提供了一個基於容器的解決方案,結合了計算,網絡,存儲,因此您可以通過卡桑德拉所需的所有資源進行全面控制,執行快照/恢復,向外擴展,比例放大/縮小等