问题描述
当你在 GKS、AKS 等平台上运行 Kubernetes 时,你可以使用云提供商特定的存储桶(如 Amazon S3、Google Cloud Storage、Azure Blob Storage)来以快速、易用的方式存储原始二进制内容。但是当你在防火墙后部署 Kubernetes 时,你就没有来自云提供商的存储桶 SDK 了。在使用 OpenShift 等平台时,有没有其他的替代方案?我们是否只能使用持久卷?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
在 Kubernetes OnPrem 中,你有很多选择。以下是一些提供 S3 兼容对象存储 API 的选项:
– 如果你使用的是 OpenShift,你可以安装 OpenShift Data Foundation,它包括 Noobaa 对象存储服务。它提供了类似于 PersistentVolume 和 PersistentVolumeClaim 资源的 ObjectBucket 和 ObjectBucketClaim 资源。
– 你可以运行 MinIO,它可以通过 operator 或 helm chart 在 Kubernetes 上部署。
– 你可以运行自己的 Ceph 集群,其中包括对象网关。
– 你可以运行 OpenStack Swift。
方案2
使用其他对象存储服务可能需要进行额外的配置和管理,并且可能不兼容某些功能。
除了上述方案,你还可以考虑使用其他对象存储服务,如 Alibaba Cloud OSS、Tencent Cloud COS 等。但是需要注意,这些服务可能需要进行额外的配置和管理,并且可能不兼容某些功能。
以上是在 Kubernetes OnPrem 中进行文件存储桶的一些推荐方式,你可以根据自己的需求选择适合的方案。