当集群中的节点系统盘或数据盘空间不足,或因节点规格偏小等原因影响节点稳定运行时,您可以参见本文扩容节点系统盘或数据盘,以更好地满足数据存储需求。建议您选择在线扩容,即扩容后无需重启实例即可生效,不影响集群业务的正常运行。
阅读前提示
扩容系统盘或数据盘前,请参见云盘扩容指引了解以下信息:
- 系统盘或数据盘的扩容流程,包括扩容容量、扩容分区和文件系统。 
- 扩容上限及扩容过程中产生的费用。 
若操作系统为ContainerOS,请参见在线扩容ContainerOS系统盘完成系统盘的扩容。
扩容系统盘
步骤一:确定当前磁盘大小和分区
执行系统盘扩容前,请登录节点,查看节点系统盘的磁盘大小和所在分区。
- 登录节点宿主机。具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。 
- 执行以下命令,查看节点当前容器进程挂载空间大小。 - df -hl
- 执行以下命令,查看节点当前的分区。 - sudo fdisk -lu- 预期输出: - Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: FD47CD2F-8911-47B3-94A7-76CAE693CF78 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 41940991 41525248 19.8G Linux filesystem- 由预期输出可知,当前节点系统盘分区为 - /dev/vda3。
步骤二:扩容节点系统盘容量
您可以参见扩容云盘容量,了解扩容注意事项并登录ECS管理控制台配置扩容后的系统盘容量。推荐选择在线扩容,扩容后无需重启实例即可生效。
步骤三:扩容系统盘并验证
本小节以步骤一中查询的云盘分区名称/dev/vda3为例进行分区和文件系统的扩容。相关注意事项和具体步骤,请参见扩容分区和文件系统(Linux)。
- 在节点中执行以下命令,扩容分区。 - sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 3
- 在节点中执行以下命令,扩容文件系统。 - sudo resize2fs /dev/vda3
- 执行以下命令,验证节点系统盘是否扩容成功。 - df -hl- 预期输出: - Filesystem Size Used Avail Use% Mounted on devtmpfs 3.7G 0 3.7G 0% /dev tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs 3.7G 20M 3.7G 1% /run tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/vda3 197G 4.5G 184G 3% / ...- 预期输出表明,磁盘分区 - /dev/vda3文件系统容量和扩容后容量(例如200 GiB)基本一致,表示节点系统盘扩容成功。
- 执行以下命令,重启kubelet节点。 - systemctl restart kubelet重要- kubelet重启可能会对节点运行和工作负载运行产生一定影响。请在业务低峰期操作。 
- 执行以下命令,查看节点的临时存储容量,即 - ephemeral-storage的值是否符合预期。- 替换 - cn-qingdao.192.XX.XX.88为实际节点名称。- kubectl get node cn-qingdao.192.XX.XX.88 -o yaml |grep ephemeral-storage- 在预期输出中,查看 - ephemeral-storage的值是否与扩容后的容量(例如200 GiB)基本一致。
扩容数据盘
步骤一:确定当前磁盘大小和分区
执行数据盘扩容前,请登录节点,查看节点数据盘磁盘大小和所在分区。
- 登录节点宿主机。 - 具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。 
- 执行以下命令,查看节点当前的分区。 - sudo fdisk -lu- 预期输出: - Disk /dev/vda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: FD47CD2F-8911-47B3-94A7-76CAE693CF78 Device Start End Sectors Size Type /dev/vda1 2048 6143 4096 2M BIOS boot /dev/vda2 6144 415743 409600 200M EFI System /dev/vda3 415744 41940991 41525248 19.8G Linux filesystem Disk /dev/vdb: 45 GiB, 48318382080 bytes, 94371840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes- 由预期输出可知,当前节点数据盘为 - /dev/vdb。
步骤二:扩容节点数据盘容量
您可以参见步骤一:扩容云盘容量,了解扩容注意事项并登录ECS管理控制台配置扩容后的数据盘容量(例如50 GiB)。推荐您在选择在线扩容的方式,扩容后无需重启实例即可生效。
步骤三:扩容数据盘并验证
- 在节点中执行以下命令,扩容文件系统。 - sudo resize2fs /dev/vdb
- 执行以下命令,重启kubelet节点。 - systemctl restart kubelet说明- kubelet重启可能会对节点运行和工作负载运行产生一定影响。请在业务低峰期操作。 
- 执行以下命令,验证节点数据盘是否扩容成功。 - df -hl- 预期输出: - Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 3.7G 0 3.7G 0% /dev tmpfs tmpfs 3.7G 0 3.7G 0% /dev/shm tmpfs tmpfs 3.7G 20M 3.7G 1% /run tmpfs tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/vda3 ext4 197G 4.5G 184G 3% / /dev/vda2 vfat 200M 5.8M 195M 3% /boot/efi /dev/vdb ext4 49G 2.7G 44G 6% /var/lib/container ...- 预期输出表明,磁盘 - vdb文件系统容量和扩容后容量(例如50 GiB)基本一致,表示节点数据盘扩容成功。