Carina 是一款高性能、免运维的云原生本地存储项目(GitHub 地址为:https://github.com/carina-io/carina),目前已进入 CNCF 全景图。

Carina 旨在为云原生环境中的有状态应用提供高性能免运维的本地存储解决方案,具体存储卷生命周期管理、本地设备管理、智能调度等能力。Carina是为数据库而生的本地存储方案,已在多个金融机构的生产环境中稳定运行多年

千呼万唤始出来,carina终于迎来了v0.11.0版本!

01 版本重要变更

  • 移除HTTP Server

  • 升级CSI官方镜像版本

  • 移除部分支持快照代码

  • 移除ConfigMap同步控制器

  • 移除创建lvm卷所创建的thin-pool

  • carina镜像移动到单独命名空间

  • 增加carina-ci-bot管理carina项目

  • 支持Cgroup v1和Cgroup v2对设备限速

  • 修复由于历史版本变更导致的文档描述不准确问题

  • 修复当carina服务停止时,metric server panic问题

  • 修复carina-scheduler在单pod多deviceGroup时评分计算覆盖的问题

  • 修改carina-scheduler评分算法,使之更加简明准确

  • 修改carina-node消息通知模型,解决磁盘容量变更通知不及时问题

  • 增加carina e2e测试用以替代原有的e2e测试代码(开发测试中)

  • 项目结构重构,使用controller-runtime方法替代原有协程

  • 自定义资源Logicvolume从Namespace变更为Cluster

  • 自定义资源Nodestorageresource结构字段变更,支持kubectl get nsr指令

  • 增加支持单节点多个deviceGroup之间也遵循调度策略spreadout|binpack

  • 优化Storageclass参数volumeBindingMode:Immediate情况下pvc调度逻辑

  • 不再支持Storageclass未设置carina.storage.io/disk-group-name的情况进行pvc调度

  • 当storageclass未设置carina.storage.io/disk-group-name时,carina-scheduler将阻止该Pod调度

  • 当Storageclass存在carina.storage.io/allow-pod-migration-if-notready时,carina webhook将自动为pod添加允许故障转移注解

  • 修复一些其他BUG

02 详细升级指南

重要!升级carina v0.11.0

  • 如果你是新安装carina v0.11.0版本的话,可直接使用如下指令安装

# 该镜像为latest,注意修改成v0.11.0
$ cd deploy/kubernetes && ./deploy.sh
# or
$ helm repo add carina-csi-driver https://carina-io.github.io
$ helm search repo -l carina-csi-driver
$ helm install carina-csi-driver carina-csi-driver/carina-csi-driver --namespace kube-system --version v0.11.0
  • 如果你从<v0.11.0 版本升级,务必要遵循升级文档进行升级,升级文档为:https://github.com/carina-io/carina/blob/main/docs/manual_zh/install-v0.11.0.md,由于自定义资源Logicvolume从Namespace变更到Cluster,如果直接升级v0.11.0版本会导致无法安装部署成功,需要经历如下三个阶段。

① 卸载carina 旧版本,卸载carina并不影响已挂载PVC使用

$ cd deploy/kubernetes && ./deploy.sh uninstall
# or
$ helm uninstall carina-csi-driver

②升级Logicvolume

$ cd deploy/kubernetes && ./lvupgrade.sh

注意:由于Kubernetes版本等原因该脚本可能执行失败,当执行失败时请分步执行指令,执行成功如下图所示

③部署carina v0.11.0

$ cd deploy/kubernetes && ./deploy.sh

其他变更,请参考carina版本发布:https://github.com/carina-io/carina/releases

最后,感谢@fanhaouu对carina项目做出的贡献,并祝贺@fanhaouu成为carina项目approver

更多信息

双周例会:

每双周 周三 16:00-17:00 与您不见不散(最近一次为8月24日

会议信息:

腾讯会议号:927-5140-3883

会议链接:https://meeting.tencent.com/dm/ByXbjouJPmjj

以上均为固定会议信息

Github:https://github.com/carina-io/carina

会议回放:
https://space.bilibili.com/524926244

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐