簡體   English   中英

存儲 class 是否為每個 pod 動態配置持久卷?

[英]Does the storage class dynamically provision persistent volume per pod?

Kubernetes 新手在這里,所以我的問題可能沒有意義。 請多多包涵。

所以我的問題是,假設我已經在集群中設置了存儲 Class,那么我有一個 PVC(它使用該存儲類)。 如果我在部署中使用該 PVC,並且該部署有 5 個副本,存儲 Class 是否會創建 5 個 PV? 每個 Pod 一個? 還是該部署下的所有 Pod 僅共享 1 個 PV?

編輯:我在這個集群中有 3 個節點

提前致謝。

Persistent Volume Claim資源與部署分開指定。 不管部署有多少副本,kubernetes 將只有您定義的 PVC 資源數量。

如果您正在尋找創建自己的 PVC 的多個有狀態容器,請改用StatefulSet 這包括VolumeClaimTemplate定義。

如果您希望所有部署副本共享一個 PVC,存儲 class 提供程序插件將需要是ReadOnlyMany 或 ReadWriteMany

直接回答我的問題。

在這種情況下,存儲 Class 將僅提供一個 PV,並在使用該 PVC 的 Deployment 下的所有 Pod 之間共享。

PVC 的 accessModes 並不規定是否為每個 pod 創建一個 PV。 您可以將accessModes設置為 ReadWriteOnce/ReadOnlyMany/ReadWriteMany,它將始終創建 1 個 PV。

如果你希望每個 Pod 都有自己的 PV,你不能在 Deployment 下這樣做

您將需要使用StatefulSet使用volumeClaimTemplates

StatefulSet 使用 volumeClaimTemplates 很重要,否則,它仍將與 Deployment 一樣,即 Storage Class 將僅配置一個 PV,該 PV 在該 StatefulSet 下的所有 pod 之間共享。

參考:

Kubernetes 部署與 StatefulSets

有沒有辦法在 kubernetes 部署(或 statefulset)中為每個 pod 創建一個持久卷?

暫無
暫無

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

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