全部產品
Search
文件中心

Container Service for Kubernetes:節點容量不足時擴容節點系統硬碟或資料盤

更新時間:Mar 01, 2025

當叢集中的節點系統硬碟或資料盤空間不足,或因節點規格偏小等原因影響節點穩定運行時,您可以參見本文擴容節點系統硬碟或資料盤,以更好地滿足資料存放區需求。建議您選擇線上擴容,即擴容後無需重啟執行個體即可生效,不影響叢集業務的正常運行。

閱讀前提示

擴容系統硬碟或資料盤前,請參見雲端硬碟擴容指引瞭解以下資訊:

  • 系統硬碟或資料盤的擴容流程,包括擴容容量、擴容分區和檔案系統。

  • 擴容上限及擴容過程中產生的費用。

若作業系統為ContainerOS,請參見線上擴容ContainerOS系統硬碟完成系統硬碟的擴容。

擴容系統硬碟

步驟一:確定當前磁碟大小和分區

執行系統硬碟擴容前,請登入節點,查看節點系統硬碟的磁碟大小和所在分區。

  1. 登入節點宿主機。具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 執行以下命令,查看節點當前容器進程掛載空間大小。

    df -hl
  3. 執行以下命令,查看節點當前的分區。

     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)

  1. 在節點中執行以下命令,擴容分區。

    sudo LC_ALL=en_US.UTF-8 growpart /dev/vda 3
  2. 在節點中執行以下命令,擴容檔案系統。

    sudo resize2fs /dev/vda3
  3. 執行以下命令,驗證節點系統硬碟是否擴容成功。

    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)基本一致,表示節點系統硬碟擴容成功。

  4. 執行以下命令,重啟kubelet節點。

    systemctl restart kubelet
    重要

    kubelet重啟可能會對節點運行和工作負載運行產生一定影響。請在業務低峰期操作。

  5. 執行以下命令,查看節點的臨時儲存容量,即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)基本一致。

擴容資料盤

步驟一:確定當前磁碟大小和分區

執行資料盤擴容前,請登入節點,查看節點資料盤磁碟大小和所在分區。

  1. 登入節點宿主機。

    具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體

  2. 執行以下命令,查看節點當前的分區。

     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)。推薦您在選擇線上擴容的方式,擴容後無需重啟執行個體即可生效。

步驟三:擴容資料盤並驗證

  1. 在節點中執行以下命令,擴容檔案系統。

    sudo resize2fs /dev/vdb
  2. 執行以下命令,重啟kubelet節點。

    systemctl restart kubelet
    說明

    kubelet重啟可能會對節點運行和工作負載運行產生一定影響。請在業務低峰期操作。

  3. 執行以下命令,驗證節點資料盤是否擴容成功。

    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)基本一致,表示節點資料盤擴容成功。