Redian新闻
>
​COSI:对象存储也可以通过 K8S API 管理了!

​COSI:对象存储也可以通过 K8S API 管理了!

公众号新闻


本文介绍了容器对象存储接口 (COSI),它是在 Kubernetes 中供应和使用对象存储的标准。它是 Kubernetes v1.25 中的一个 alpha 功能。

文件和块存储通过容器存储接口 CSI 在 Kubernetes 生态系统中被视为一等公民。使用 CSI 卷的工作负载可以享受跨供应商和跨 Kubernetes 集群的可移植性优势,而无需更改应用程序清单。对象存储不存在等效标准。

近年来,对象存储作为文件系统和块设备的替代存储形式越来越受欢迎。对象存储范式促进了计算和存储的分解。这是通过网络而不是本地提供数据来完成的。分解架构允许计算工作负载是无状态的,从而使它们更易于管理、扩展和自动化。

COSI

COSI 旨在标准化对象存储的使用,以提供以下好处:

  • Kubernetes Native:使用 Kubernetes API 来配置、配置和管理存储桶
  • 自助服务:管理和运营 (DevOps) 之间的明确划分,为 DevOps 人员启用自助服务能力
  • 可移植性:通过跨 Kubernetes 集群和跨对象存储供应商的可移植性实现供应商中立性

跨供应商的可移植性只有在两家供应商都支持通用数据路径 API 时才有可能。例如。可以从 AWS S3 移植到 Ceph,或从 AWS S3 移植到 MinIO,反之亦然,因为它们都使用 S3 API。相反,无法从 AWS S3 和 Google Cloud 的 GCS 移植,反之亦然。

Architecture

COSI 由三个部分组成:

  • COSI Controller Manager
  • COSI Sidecar
  • COSI Driver

COSI Controller Manager 充当处理 COSI API 对象更改的主控制器。它负责处理存储桶创建、更新、删除和访问管理的请求。每个 Kubernetes 集群都需要一个控制器管理器实例。即使集群中使用了多个对象存储提供程序,也只需要一个。

COSI Sidecar 充当 COSI API 请求和供应商特定 COSI 驱动程序之间的转换器。该组件使用供应商驱动程序应满足的标准化 gRPC 协议。

COSI Driver 是供应商特定组件,它接收来自 sidecar 的请求并调用适当的供应商 API 以创建存储桶、管理其生命周期并管理对它们的访问。

API

COSI API 以桶为中心,因为桶是对象存储的单元抽象。COSI 定义了三个旨在管理它们的 Kubernetes API

  • Bucket
  • BucketClass
  • BucketClaim

此外,还定义了另外两个用于管理对存储桶的访问的 API:

  • BucketAccess
  • BucketAccessClass

简而言之,Bucket 和 BucketClaim 可以认为分别类似于 PersistentVolume 和 PersistentVolumeClaim。BucketClass 在文件/块设备世界中的对应物是 StorageClass。

由于对象存储始终通过网络进行身份验证,因此需要访问凭证才能访问存储桶。BucketAccess 和 BucketAccessClass 这两个 API 用于表示访问凭证和身份验证策略。有关这些 API 的更多信息可以在官方 COSI 提案中找到:

https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1979-object-storage-support

Self-Service

除了提供 kubernetes-API 驱动的存储桶管理之外,COSI 还旨在使 DevOps 人员能够自行配置和管理存储桶,而无需管理员干预。这进一步使开发团队能够实现更快的周转时间和更快的上市时间。

COSI 通过在两个不同的利益相关者(即管理员 admin 和集群操作员)之间划分存储桶配置步骤来实现这一点。管理员将负责就如何配置存储桶以及如何获取存储桶的访问权限设置广泛的策略和限制。集群操作员可以在管理员设置的限制内自由创建和使用存储桶。

例如,集群操作员可以使用管理策略将最大预置容量限制为 100GB,并且允许开发人员创建存储桶并将数据存储到该限制。同样对于访问凭证,管理员将能够限制谁可以访问哪些存储桶,并且开发人员将能够访问他们可用的所有存储桶。

可移植性

COSI 的第三个目标是实现存储桶管理的供应商中立性。COSI 支持两种可移植性:

  • 跨集群
  • 跨提供商

跨集群可移植性允许在一个集群中配置的存储桶在另一个集群中可用。这仅在对象存储后端本身可以从两个集群访问时才有效。

跨提供商可移植性是指允许组织或团队无缝地从一个对象存储提供商迁移到另一个对象存储提供商,而无需更改应用程序定义(PodTemplates、StatefulSets、部署等)。这只有在源和目标提供者使用相同的数据时才有可能。

COSI 不处理数据迁移,因为它超出了其范围。如果提供商之间的移植也需要迁移数据,则需要采取其他措施来确保数据可用性。

下一步

令人惊叹的 sig-storage-cosi 社区一直在努力将 COSI 标准带入 alpha 状态。我们期待很多供应商加入编写 COSI 驱动程序并与 COSI 兼容!

我们希望为 COSI 存储桶添加更多身份验证机制,我们正在设计高级存储桶共享原语、多集群存储桶管理等等。未来有很多伟大的想法和机会!

链接:https://kubernetes.io/blog/2022/09/02/cosi-kubernetes-object-storage-management/

(版权归原作者所有,侵删)


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
膜拜!阿里内部爆款K8s+Docker+Jenkins实战笔记,真的太详细了!彻底告别K8s和Docker Swarm!Ruby On Rails 之父下云后:系统好用又便宜,还清理了几千行代码购物|Costco自产品牌Kirkland为啥这么这么物美价廉?为你揭晓Costco的七个成功小秘诀~深入探究K8s的安全配置资源Secret!心碎!45%加拿大人或被迫卖房!无力还贷!刚刚,美联储也加息了…本周必buy | Pandora全场买二送一,COACH OUTLET半价折上折,​Cotton on白菜价大促​现在去一趟Costco要花多少钱?好市多(Costco)给出了答案图文并茂,阿里内部爆款K8s+Docker+Jenkins实战笔记K8s 日志高效查看神器,提升运维效率10倍!Go二次开发实战:K8s、Prometheus、Traefk的微服务网关一个人最美的精神长相,可以通过这些好习惯显现出来。【收藏】退休后办理Medicare注册经过vivo AI 计算平台的 K8s 分级配额管理实践现在不懂K8s/Docker真的不行了!一文吃透K8s/Docker架构与核心技术 | 极客时间K8s 弃用 Docker!一文介绍 containerd ctr、crictl 使用K8S很难吗?带你从头到尾捋一遍,不信你学不会!【收藏】浅谈一下 Medicare 医疗保险一个人最美的精神长相,可以通过这些好习惯显现出来K8s + SpringBoot实现零宕机发布上云价值倒挂严重,1年云支出高达320万美元,这家公司彻底去云、放弃K8s瑞士风景靠云原生上岸大厂,这198个Docker、K8s核心知识点总结不容错过!| 极客时间亚马逊云科技开源 Mountpoint for Amazon S3,通过挂载点技术简化 Amazon S3 对象存储的使用k8s之Configmap的使用及实战!从内核角度理解K8s CPU限流的原理3个管理多k8s集群实用工具k8s竟如此简单?大牛总结最佳路线实践!K8s + Prometheus = 监控神器开源世界的两巨头:Linux和k8s结合|招聘岗位平均月薪3万+?月薪 5w+,2023 懂点 K8s/Docker 真的太有必要了!| 极客时间最美的精神长相,可以通过这些好习惯显现出来如何逐步安装 Kubernetes(k8s)指标服务器 | Linux 中国2022南美南极行(14)巴西 萨尔瓦多Costco爆买折扣来了!少见的大包蔓越莓干打折了!尝遍COSTCO,美国零食新活动还有饼干蛋卷咖啡…六万亡灵的归宿
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。