Carina 是一款高性能、免运维的云原生本地存储项目(GitHub 地址为:https://github.com/carina-io/...),目前已进入 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
如果你从
① 卸载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/...
最后,感谢@fanhaouu对carina项目做出的贡献,并祝贺@fanhaouu成为carina项目approver!
更多信息
双周例会:
每双周 周三 16:00-17:00 与您不见不散(最近一次为8月24日)
会议信息:
腾讯会议号:927-5140-3883
会议链接:https://meeting.tencent.com/d...
以上均为固定会议信息