I'm Koala

I'm Koala

K8s基于阿里云NAS实现分级存储

25
2024-09-03

概述

K8s中通常会使用云盘+NAS文件存储两种. 通常各家云厂商会内置多种类型的云盘, 比如ESSD云盘、SSD云盘、高效云盘等. 但NAS文件存储需要自行创建或配置. 本文主要介绍基于阿里云NAS为K8s创建多种规格的NAS Storage Class, 方便应用根据需要选择不同的SC, 满足性能需要的同时尽可能降低成本.

详细信息

首先根据应用对存储的需求, 规划需要分多少个级别, 如果不太确定, 可以简单分三级, 即 高、中、低.

然后参考阿里云NAS官方文档, 创建对应规格的NAS文件系统, 如下图:

图中的最后一个[极速型NAS-标准版]是存储分级前K8s集群的默认NAS SC.

创建完成后, 在K8s集群创建对应数量的Storage Class (具体创建步骤可参考阿里云官网文档, 本文不赘述), 并且名称和实际的NAS规格最好一一对应, 方便管理,比如:

NAS规格

K8s SC

极速型NAS-高级型

alicloud-nas-dynamic-extreme-sc

通用型NAS-性能型

alicloud-nas-dynamic-performance-sc

通用型NAS-容量性

alicloud-nas-dynamic-capacity-sc

创建完成后, 调整K8s中工作负载的存储卷, 根据应用所需的存储文件类型, 创建对应的规格的PVC, 比如:

应用

存储路径

PVC

SC

cloudreve

/data

cloudreve-data-pvc

alicloud-nas-dynamic-extreme-sc

/cloudreve/uploads

cloudreve-uploads-pvc

alicloud-nas-dynamic-capacity-sc

/cloudreve/avatar

cloudreve-avatar-pvc

alicloud-nas-dynamic-performance-sc

domain-admin

/app/logs

domain-admin-logs-pvc

alicloud-nas-dynamic-capacity-sc

对于已有的工作负载, 可以创建好对应的PVC后, 通过挂载到临时目录, 比如/tmp/nas, 然后cp -ar xxx /tmp 到临时目录, 然后再更新 volumn mounts 来实现PVC的更换.

参考文档

  • 0