k8s存储卷在线扩容

在k8s中经常会遇到挂载存储容量满了的情况,之前的方案是需要用户解挂存储,线下扩容后再重新挂载回来,那么这将导致服务的中断。在k8s 1.16以后,存储扩容(resize)进入了beta阶段,已经可以在生产环境使用了。

整个扩容的过程如下所示:

k8s存储卷在线扩容

CSI-Resizer会一直watch pvc的变化,如果发现pvc的size发送了变化,会比较和pv的大小,如果发现大于当前绑定pv的size,会执行resizeVolume方法。在resizeVolume方法中首先会标记pvc状态为resizing,然后调用CSI-plugin的ControllerExpandVolume方法,它依赖各种存储的实现,如果是咋阿里云场景中,会调用存储扩容接口。扩容成功后会更新pv的size,并且pvc的状态被标记为FileSystemResizePending,意思就是等待文件系统扩容。kubelet也会一直watch pvc的状态,发现pvc的size小于pv的size,便会调用CSI-plugin的扩容接口NodeExpandVolume,resizefs扩容文件系统,最后向k8s apiserver发送FileSystemResizeSuccessful事件并且更新pvc status里面的size大小,完成扩容。

展开阅读全文

页面更新:2024-05-21

标签:在线   阿里   绑定   常会   文件系统   标记   接口   大小   状态   阶段   过程   事件   情况   发现   环境   方法   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top