【发布时间】:2022-10-24 20:22:50
【问题描述】:
目前,我的 Kubernetes 集群是通过 GKE 配置的。
我使用GCE Persistent Disks 来保存我的数据。
在GCE 中,持久存储是通过GCE Persistent Disks 提供的。 Kubernetes 支持通过gcePersistentDisk 卷/供应器类型将它们添加到Pods 或PersistenVolumes 或StorageClasses。
如果我想将集群从Google 转移到Azure 或AWS,该怎么办?
然后我必须在清单文件中的所有事件中分别将卷类型的值更改为azureFile 或awsElasticBlockStore。
我希望CSI 驱动程序能够解决这个问题,不幸的是,他们还为每个提供商云提供商使用不同类型的卷,例如pd.csi.storage.gke.io 用于GCP 或disk.csi.azure.com 用于Azure。
是否有任何便捷的方法可以使 Kubernetes 卷与云无关?在 K8s 集群迁移之前,我不必对清单文件进行任何更改。
【问题讨论】:
-
理想情况下,您只需创建一个
PersistentVolumeClaim,每个提供者都有一个默认的StorageClass,因此您无需在声明中指定它......但听起来事情不是这样的,所以也许答案是采用某种模板系统,以尽量减少需要进行更改的地方的数量。 -
您可以创建和管理使用 CEPH、GlusterFS 或 Portworks 等构建的自己的存储集群。这不会很容易创建和管理。
标签: kubernetes google-kubernetes-engine amazon-eks azure-aks