You need to enable JavaScript to run this app.
Volcengine Kubernetes Engine

Volcengine Kubernetes Engine

Copy page
Download PDF
EBS Volumes
Changing cloud disk types
Copy page
Download PDF
Changing cloud disk types
VKE supports multiple cloud disk types as storage volumes to meet storage performance and cost requirements in different scenarios. When you use cloud disk volumes, you can change cloud disk types as needed. This topic describes the considerations and procedure for changing cloud disk types.​
Background​
In a VKE cluster, cloud disks are the core storage medium for stateful applications, such as databases and message queues. These applications are highly sensitive to performance metrics such as disk IOPS and throughput. In the past, the performance specifications of a cloud disk were fixed when the disk was created and could not be changed directly. When business growth and increased traffic resulted in insufficient storage performance, you usually had to create a high-specification cloud disk and migrate data to it. This process causes downtime and involves data migration risks and costs. For periodic traffic spikes, such as major promotions or month-end settlements, provisioning high-performance cloud disks for the long term wastes resources during off-peak hours.​
To resolve these issues, VKE provides a solution for changing cloud disk types based on VolumeAttributesClass (VAC). This solution decouples configurations such as cloud disk types and performance specifications from PersistentVolumes (PVs) and abstracts them into an independently adjustable configuration template. You can directly modify parameters such as the type, IOPS, and throughput of a running cloud disk without rebuilding the PV or interrupting services. This solution provides the following core benefits:​
  • Online configuration change without service interruption: When you adjust cloud disk types and performance parameters, you do not need to unmount volumes or restart Pods. Applications can continue to read and write data.​
  • Configuration and data decoupling: Cloud disk types and performance parameters are defined in a VAC. One VAC can be reused by multiple PersistentVolumeClaims (PVCs). To adjust specifications, you only need to modify one configuration, which helps with unified governance.​
  • Adapt performance to business cycles: Temporarily increase performance during peak hours and restore the standard level afterward. This allows storage costs to scale with actual demand and avoids long-term spending on peak capacity.​
tip​
For more information about VAC resources, see the official documentation.​
Limits​
  • Only scenarios that use dynamically provisioned cloud disk PVs are supported.​
  • Currently, only changes between ESSD_PL0 and ESSD_FlexPL specifications are supported. Changes to other cloud disk types are not supported.​
Prerequisites​
  • You have created a managed cluster and the cluster version is v1.32 or later. If the version does not meet the requirement, upgrade the cluster. For details, see Upgrading clusters.​
  • If the cluster version is v1.32, submit a ticket to request feature-gates=VolumeAttributesClass=true for the cluster.​
  • If the cluster version is v1.34 or later, no additional prerequisites are required.​
  • You have installed the csi-ebs add-on and upgraded it to v1.5.0 or later. For details, see csi-ebs.​
Procedure​
Step 1: Enable the cloud disk configuration change feature​
  1. Log in to the VKE console.​
  1. In the left navigation bar, click Cluster. Click the target cluster name to go to the management page of this cluster.​
  1. In the left navigation pane, select Addons and click the Storage tab.​
  1. Hover over the csi-ebs add-on card, click Configuration, and enable the VAC feature. For more information about add-on parameters, see csi-ebs.​
  1. Click Confirm to finish configuration.​
Step 2: Configure a VAC​
VACs are configuration templates for different storage types in the cluster. In a VAC configuration, driverName and parameters cannot be modified after the VAC is created. We recommend creating a separate VAC for each target cloud disk specification and switching configuration templates by updating the PVC.​
warning​
  • When you configure a VAC, we recommend including the version and key specification information in the name for easier recognition and use. An example is ebs-flexpl-iops10k-burst-v1.​
  • Do not reuse names that are already used. This helps avoid deleting and re-creating VACs with the same name.​
  1. Create a YAML file for the VAC. The following vac-ebs-demo.yaml file serves as an example:​
  • ​
    apiVersion: storage.k8s.io/v1​
    kind: VolumeAttributesClass​
    metadata:​
    name: ebs-flexpl-iops10k-burst-v1 # VAC name​
    driverName: ebs.csi.volcengine.com # Required. The driver required for storage mount.​
    parameters:​
    type: ESSD_FlexPL # Required. The EBS volume type and performance level. For ESSD, performance levels ESSD_PL0 and ESSD_FlexPL are supported.​
    extraPerformanceTypeId: IOPS # Optional. The extra performance type. Valid values: IOPS, Balance, and Throughput. This field takes effect only when the type is ESSD_FlexPL and the EBS capacity is greater than or equal to 500 GB.​
    extraPerformanceIOPS: "10000" # Optional. IOPS in the extra performance configurations. This parameter takes effect only if the extra performance type is IOPS or Balance. The value range is 1 to 50000.​
    burstEnabled: "true" # Optional. Whether to enable performance bursting. This field takes effect only if the type is set to ESSD_FlexPL. Valid values: true and false. Default value: false.​
    ​
  • The key parameters are described in the following table.​
  • ​
    Parameter​
    Description​
    driverName​
    The driver required for PV mount. In this topic, you need to set the value to ebs.csi.volcengine.com, which indicates the csi-ebs add-on.​
    type​
    The volume type. Only ESSD_PL0 and ESSD_FlexPL specifications are supported.​
    extraPerformanceTypeId​
    The extra performance type. You can increase volume performance without increasing volume capacity.​
    IOPS, Balance, and Throughput are supported. This parameter is required only if the volume type is ESSD_FlexPL and the volume capacity is greater than or equal to 500 GB. For different types of extra performance, see ESSD FlexPL volumes.​
    extraPerformanceIOPS​
    IOPS in the extra performance configurations. This parameter takes effect only if the extra performance type is IOPS or Balance. The value is an integer. Unit: operations per second. The value range is from 1 to 50000.​
    extraPerformanceThroughputMB​
    The throughput of the extra performance configurations. This parameter takes effect only if the extra performance type is Throughput. The value is an integer. Unit: MB/s. Valid values: 0 to 650.​
    burstEnabled​
    Whether to enable performance bursting for a cloud disk. This allows the cloud disk to deliver I/O performance that exceeds its baseline performance for a short period to handle peak business workloads or bursty traffic. This field takes effect only if the cloud disk type is ESSD_FlexPL. Valid values:​
    • true: Enable performance bursting for the cloud disk.​
    • false: Disable performance bursting for the cloud disk. This value is used by default.​
    tip​
    After you enable the performance bursting feature for ESSD FlexPL cloud disks, you will be charged based on the burst performance usage. For details, see Burst performance billing - ESSD FlexPL cloud disks.​
    ​
  1. Run the following command to create the VAC.​
  • ​
    kubectl apply -f vac-ebs-demo.yaml​
    ​
Step 3: Change the PVC configuration​
  1. Add or modify the VAC configuration in the PVC to specify the required cloud disk type. The following pvc-ebs-dynamic.yaml file serves as an example:​
  • ​
    apiVersion: v1​
    kind: PersistentVolumeClaim​
    metadata:​
    name: pvc-ebs​
    namespace: default​
    spec:​
    accessModes: ​
    - ReadWriteOnce​
    volumeAttributesClassName: ebs-flexpl-iops10k-burst-v1 # Add or modify this VAC configuration field to change the cloud disk type and performance parameters.​
    resources:​
    requests:​
    storage: 50Gi​
    storageClassName: storage-class-ebs​
    volumeMode: Filesystem​
    ​
  • The key parameters are described in the following table.​
  • ​
    Parameter​
    Description​
    volumeAttributesClassName​
    Add or modify this VAC configuration field to specify the cloud disk type, performance parameters, and other settings.​
    tip​
    For other parameters in the PVC, see Using dynamic EBS PVs.​
    ​
  1. Run the following command to change the PVC configuration.​
  • ​
    kubectl apply -f pvc-ebs-dynamic.yaml​
    ​
Validate results​
After the configuration is complete, the system automatically changes the type or parameters of the cloud disk PV. You can also log in to the EBS console to view the volume details after the change and confirm whether the change meets your requirements.​
Last updated: 2026.09.16 10:14:36