【发布时间】:2020-12-01 12:40:13
【问题描述】:
我有一个包含 3 个副本的 Kubernetes 部署应用程序,每个副本需要 7GB 存储空间,我希望能够附加一个 new 空 azureDisk 存储空间以挂载到每个 pod/在此部署中创建的副本。
基本上我有以下限制:
- 我必须使用 Deployment,而不是 Statefulset
- 每次 pod 死亡而新 pod 启动时,它都不应该有状态,并且会附加一个新的空 azureDisk。
- Pod 不共享其存储空间,每个 Pod 都有自己的 7GB 存储空间。
- pod 需要使用 azureDisk,因为我需要 7GB 的按需存储,这意味着在我扩展部署副本时动态创建 azureStorage。
使用 azureDisk 时,我需要将它与访问模式类型 ReadWriteOnce 一起使用(如 docs 中所述),它会将唯一的 1 个 pod 附加到该磁盘,但只有在我有 1 个时才有效pod,如果我有超过 1 个 pod,我不能使用相同的声明...有没有办法像第一个声明中的那样动态请求更多存储空间?
注意 1:我知道有一个 volumeClaimTemplates,但这仅与 Statefulset 有关。
注意 2:我不在乎 pod 是否重新启动 100 次,这反过来会创建 100 个 PV,而其中只使用 1 个,这很好。
【问题讨论】:
-
您能解释一下为什么您需要使用
Deployment而不是StatefulSet,后者旨在解决这类用例吗?
标签: kubernetes azure-aks azure-disk