Ire*_*aka 2 file-storage kubernetes google-kubernetes-engine object-storage block-storage
在 Kubernetes 的背景下,我遇到过这些术语Block Storage,File Storage但Object Storage我不明白它们是如何在容器内真正使用(安装)的。我有几个问题,
Block Storage用于表示块设备的逻辑抽象?Block Storage像我们在linux上挂载文件系统一样挂载到容器内部的路径吗?这也暗示了一个问题:它是否Block Storage是一个格式化的文件系统?Object Storage呈现给容器?容器如何使用它?它是否安装到路径上?File Storage呈现给容器?容器如何使用它?它是否安装到路径上?块存储由块设备支持。它可以是物理磁盘,也可以是网络连接设备(iSCSI、FC 或 AWS EBS 卷),甚至可以是 Ceph RBD。在大多数情况下,Pod 不需要使用原始块设备(Ceph、Portworx 等 Kube 本机存储除外),Kubernetes 而是在其之上创建文件系统并将其挂载到 Pod 中。块存储的主要特点是,在大多数情况下它是只读的(RWO),这意味着它只能以读写方式安装到单个 Pod。
文件存储由文件系统支持。它可以是本地文件系统,如 hostPath,也可以是网络共享,如 NFS。在这种情况下,Kubernetes 可以直接将其挂载到 pod 中,无需任何额外的准备。NFS 的主要特点是它可以以读写方式挂载(RWX),这意味着它可以以读写方式挂载到许多 pod。此外,一个节点上的文件系统可以附加到该特定节点上的许多 Pod。
对象存储可以想象成 HTTP(S) 上的文件(AWS S3、GCP GCS、Azure Blob 存储、Ceph RGW、Minio)。Kubernetes 没有官方支持的方法来在 pod 内挂载对象存储,但有一些肮脏的解决方法,例如 s3fs、Ganesha NFS 等。在大多数情况下,您将使用特定于提供商的库直接从您的应用程序使用对象存储,这就是它的工作原理。
| 归档时间: |
|
| 查看次数: |
2020 次 |
| 最近记录: |