簡體   English   中英

在 Kubernetes 中掛載一個大文件

[英]Mounting a large file in Kubernetes

我們在 Kubernetes 中運行一個 pod,它需要在運行時加載一個文件。 該文件具有以下屬性:

  • 在構建時已知
  • 它應該由多個 pod(相同類型)以只讀方式安裝
  • 它可能會更改(在集群外部)並且需要更新
  • 由於各種原因(安全是主要問題),該文件不能位於 docker 映像中
  • 它可能非常大,理論上可達 100 MB,但實際上在 200kB - 10MB 之間。

我們考慮了各種選擇:

  • 創建持久卷,將卷掛載到臨時 pod 中以寫入(更新)文件,卸載卷,然后將其掛載到具有 ROX(只讀多重)聲明的服務中。 這個解決方案意味着我們在升級過程中需要停機,而且很難自動化(由於時間問題)。
  • 使用 Kubernetes 的秘密管理創建多個秘密,然后在將文件加載到 init-container 或類似的東西之前“組裝”文件。

這兩種解決方案都感覺有點被黑了——有沒有更好的解決方案可以用來解決這個問題?

您需要使用支持讀/寫多個 Pod 的共享文件系統。 Here is a link to the CSI Drivers which can be used with Kubernetes and provide those access: https://kubernetes-csi.github.io/docs/drivers.html

理想情況下,您需要一個不是設備的解決方案,並且可以在任何地方運行,這意味着它可以在雲中或本地運行。

可以為您工作的平台是 Ceph、GlusterFS 和 Quobyte(免責聲明,我為 Quobyte 工作

暫無
暫無

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

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