此处列出了Kubernetes卷支持https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/user-guide/volumes.md,但它目前无法满足我的需求。
我需要支持对象存储,包括Openstack Swift API和S3兼容API。 (k8s确实直接支持AWS,但我无法使用它连接到使用s3 API的不同私有对象存储)。
有没有办法扩展功能以支持这两个对象存储API?我需要能够从对象存储装入pods。
编辑:目前我不需要支持swift API,只需要支持S3 API。请记住,它实际上不是AWS存储,它只是使用S3兼容的API
答案 0 :(得分:3)
我一直在考虑如何将swift作为卷插件启用。与对象存储相比,云块存储(EBS,cinder,永久磁盘)的卷插件是直接的。主要的区别是块存储磁盘可以配置并连接到运行kubelet的vm,可以将其安装到容器中。之后,它将表现得像本地文件系统,不需要任何额外的照顾。只读对象存储的安装也非常简单,功能可以类似于gitRepo。
另一方面,写回对象存储变得棘手。 想到两种方式:
显然,这两种方法在性能方面都会非常慢,这可能与网络带宽成正比。
答案 1 :(得分:0)
对象存储更接近其他工具,如Redis / Mongo / Elastic,因此它不是核心K8s的一部分。
它们被打包为Kubernetes helm包。例如,Minio是S3兼容的对象存储服务器。您可以使用helm install stable/minio