• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

carina: 一款高性能、免运维的云原生本地存储开源方案。

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

carina

开源软件地址:

https://gitee.com/bocloud-open-source/carina

开源软件介绍:

Carina

License

中文 | English

Carina 是一款基于 Kubernetes CSI 标准实现的存储插件,用户可以使用标准的 storageClass/PVC/PV 原语申请 Carina 提供的存储介质;Carina包含三个主要组件:carina-scheduler、carin-controller以及carina-node,全部以容器化形式运行在Kubernetes中,并且占用极少的资源。Carina是为数据库而生的本地存储方案,编排管理本地磁盘并根据磁盘类型构建多种资源池,为数据库等应用提供极致性能的本地存储。

支持环境

  • Kubernetes:(CSI_VERSION=1.3.0)

  • Node OS:Linux

  • Filesystems:ext4,xfs

  • 如果kubelet以容器化方式运行,需要挂载主机/dev目录

  • 集群每个节点存在1..N块裸盘,支持SSD和HDD磁盘(可使用命令lsblk --output NAME,ROTA查看磁盘类型,ROTA=1为HDD磁盘 ROTA=0为SSD磁盘)

  • 节点单块裸盘容量需要大于10G

  • 如果服务器不支持bcache内核模块,参考FAQ,修改部署yaml

总体架构

carina-arch

如上图架构所示,carina 能够自动发现本地裸盘,并根据其磁盘特性划分为 hdd 磁盘卷组及 ssd 磁盘卷组等,针对于本地数据高可用,carina 推出了基于 bcache 的磁盘缓存功能以及自动组建 RAID 功能.

  • carina-node 是运行在每个节点上的 agent 服务,利用 lvm 技术管理本地磁盘,按照类别将本地磁盘划分到不同的 VG 中,并从中划分 LV 提供给 Pod 使用.
  • carina-scheduler 是 Kubernetes 的调度插件,负责基于申请的 PV 大小、节点剩余磁盘空间大小,节点负载使用情况进行合理的调度。默认提供了 spreadout 及 binpack 两种调度策略.
  • carina-controller 是 carina 的控制平面,监听 PVC 等资源,维护 PVC、LV 之间的关系

功能列表

快速开始

  • 快速部署

使用shell

  • 该部署方式,部署的镜像TAG为latest,如果要部署指定版本carina需要更改镜像地址
$ cd deploy/kubernetes# 安装,默认安装在kube-system,若是安裝在其他命名,请使用如下自定义签名的安装方式$ ./deploy.sh# 如果要根据本地环境生成webhook证书,可使用如下命令安装# 注意如果kubernetes>=1.22需要修改gen_webhookca.sh中的certificates.k8s.io/v1beta1为v1$ ./deploy.sh sign# 卸载$ ./deploy.sh uninstall

使用helm3

  • 支持安装指定版本carina
helm repo add carina-csi-driver https://raw.githubusercontent.com/carina-io/charts/mainhelm search repo -l carina-csi-driverhelm install carina-csi-driver carina-csi-driver/carina-csi-driver --namespace kube-system --version v0.9.0

Carina 升级

  • 先卸载老版本./deploy.sh uninstall,然后安装新版本./deploy.sh(卸载carina并不会影响存储卷的使用)

开发指南

路线图

常见存储方案对比

NFS/NASSANCephCarina
设计场景通用存储场景高性能块设备追求扩展性的通用存储场景为云数据库而生的高性能块存储
文件存储支持支持支持支持
块存储不支持视驱动程序而定支持支持
文件系统不支持格式化视驱动程序而定支持ext4/xfs等支持ext4/xfs等
宽带差/中等中等
IOPS差/中等中等
延迟差/中等
CSI支持支持支持支持支持
快照不支持视驱动程序而定支持待支持
克隆不支持视驱动程序而定支持待支持
配额不支持支持支持支持
扩容支持支持支持支持
数据高可用依赖RAID或NAS设备支持支持依赖RAID
可维护性不同的SAN设备需要不同的驱动程序,管理成本高架构复杂,需要专人维护
成本NFS服务器或NAS设备,成本高SAN设备,客户端配置HBA卡,成本高专用存储集群,客户端需配置存储网卡,成本高K8s集群中剩余的本地磁盘,成本低
其他特性容器迁移后数据跟随容器迁移后数据跟随支持对象存储,容器迁移后数据跟随* 支持binpack/spreadout等调度策略
* 针对有状态容器,支持原地重启、重建
* 容器迁移后,数据不能跟随,需要应用层面实现数据恢复

同类型存储项目

FAQ

社区

  • 微信用户扫码进入社区交流群

carina-wx

License

Carina is under the Apache 2.0 license. See the LICENSE file for details.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap