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

Volcengine Kubernetes Engine

Copy page
Download PDF
DMC Volumes
Accessing static DMC PVs by using the FSX client
Copy page
Download PDF
Accessing static DMC PVs by using the FSX client
Data Management Center (DMC) is a storage management solution offered by Volcano Engine that enables unified storage management, data orchestration, and data mobility. It encapsulates multiple storage services and provides a unified access point to facilitate centralized storage management. This topic describes how to configure and mount a static DMC PV in a VKE cluster using the FSX client.​
Prerequisites​
  • The csi-fsx add-on has been installed and upgraded to v0.7.0 or later.​
  • The fsx-service add-on has been installed and upgraded to v0.12.0 or later.​
  • You have created the required access key (AK/SK) for mounting the DMC dataset storage. For details on obtaining the AK/SK, see Obtaining API access keys. To use a temporary token for authentication, you need to implement the logic for refreshing tokens.​
warning​
All backend PVs under a single DMC dataset use the same AK/SK for authentication. Using different AKs/SKs for authentication is not supported.​
  • (Optional) If you perform configuration by using YAML, make sure that the kubectl tool has been installed in the local environment and is connected to the target cluster. For details, see Connecting to a cluster.​
Usage limits​
  • DMC is available only in certain regions. Refer to the console for DMC availability in a specific region.​
  • If a Pod mounting a DMC PV experiences conflicts with other PV types, the system prioritizes DMC PV mounting and fails the mounting of other PV types.​
  • Online updates of a unified access point are not supported. If the access point ID changes, we recommend re-creating a PV.​
Procedure​
Step 1: Create a DMC dataset​
  1. Log in to the DMC console.​
  1. In the left navigation pane, click Data set management. On the resulting page, click Create dataset. Create a DMC dataset and bind the desired data source. This example binds both EFS volumes and TOS volumes to the DMC dataset. For details, see Creating datasets.​
  1. Click Confirm.​
Step 2: Create a unified access point​
  1. Click the name of the target dataset.​
  1. In the left navigation pane, click Unified integrated point. On the page that appears, click Create. For more configuration details, see Managing access points.​
  1. Click Confirm.​
  1. After the configuration is complete, obtain the access point ID and view details of the mounted volumes on the access point details page.​
Step 3: Create a Secret​
  1. Create a YAML file for the Secret. The following fsx-secret.yaml file serves as an example:​
  • ​
    apiVersion: v1​
    kind: Secret​
    metadata:​
    name: fsx-key # Secret name. If the cluster version is 1.26.x, the name cannot contain the . character. Other cluster versions do not have this limit.​
    namespace: default # Namespace of the Secret.​
    type: Opaque # Secret type. In this example, select it to Opaque to store arbitrary key-value pairs.​
    data:​
    AccessKeyId: ${ak} # The Base64-encoded account AK. Replace the value with your actual information.​
    SecretAccessKey: ${sk} # The Base64-encoded SK that matches the AK. Replace the value with your actual information.​
    ExpiredTime: ${Temporary Token expiration time} # The Base64-encoded expiration time of the temporary token. If you use an AK and SK, do not specify this field.​
    SessionToken: ${Temporary Token content} # The Base64-encoded content of the temporary token. If you use an AK and SK, do not specify this field.​
    ​
tip​
You can use the echo -n "${ak}" | base64 command to perform Base64 encoding on items such as the AK and SK. Note that you need to replace ${ak} with your actual value. For example, if ${ak} is demo, the encoding command is echo -n "demo" | base64, which produces the encoded result ZGVtbw==.​
  1. Run the following command to create the Secret.​
  • ​
    kubectl create -f fsx-secret.yaml​
    ​
Step 4: Create a PV​
​
Creating through the console
Creating through kubectl
​
  1. Log in to the VKE console.​
  1. In the left navigation bar, click Cluster. Click the name of the target cluster to go to the cluster management page.​
  1. In the left navigation bar on the cluster management page, click Storage > PersistentVolume.​
  1. Click Create PersistentVolume to create a DMC PV that is accessible over FSX.​
  • ​
    Parameter​
    Description​
    How to create​
    Select a method for creating the PV. Currently, you can select Static creation.​
    Name​
    Specify a name for the PV. The name must be unique within the cluster.​
    StorageClass type​
    Select a storage type. In this scenario, select Data management center.​
    Access type​
    Select an access type for the PV. In this scenario, select FSX.​
    Unified access point​
    The unique identifier for DMC storage. Select the access point in the same region as the cluster from the drop-down list. If the list is empty, create one in the DMC console.​
    Access key​
    Select the access key for DMC storage.​
    • The access key specified here is used to authorize VKE to access DMC storage.​
    • If no access key is available, click Create key and configure the key name, associated namespace, and the AK and SK of the IAM user.​
    warning​
    If you use clusters running on Kubernetes v1.26.x, you cannot use Secrets whose names contain dots (.). Otherwise, the PV will fail to be created.​
    ​
  1. Click Confirm.​
​
Step 5: Create a PVC​
​
Creating through the console
Creating through kubectl
​
  1. Click the name of the target cluster. In the left navigation bar of the cluster management page, click Storage > PersistentVolumeClaim.​
  1. Click Create PersistentVolumeClaim to configure the PVC.​
  • ​
    Parameter​
    Description​
    Namespace​
    Select the namespace to which the PVC belongs. We recommend selecting a custom namespace or the system-created default namespace. For details about namespaces, see Namespace overview.​
    Name​
    Specify a name for the PVC. The name must be unique within the cluster.​
    StorageClass type​
    Select a storage type. In this scenario, select Data management center.​
    PersistentVolume​
    Select the PV created in the previous step.​
    ​
  1. Click Confirm.​
​
Step 6: Create an application and mount the PV​
​
Creating through the console
Creating through kubectl
​
After the static DMC PV is created, you can mount it to a workload for use: Deployment, StatefulSet, Job, CronJob, or DaemonSet.​
You can add a PV to a workload when creating it or updating it. For details, see Workloads.​
warning​
Since the data source path is already bound during DMC dataset configuration, do not configure the subPath parameter when mounting DMC in the workload.​
​
Validate the result​
After creating the workload and mounting the PV, you can validate the DMC storage mounting, shared storage, and persistent storage by following the steps below.​
  1. Run the following command to check whether the PV is mounted to the specified path in the pod.​
  • ​
    kubectl exec fsx-demo-5f55*** -- df | grep tmp​
    ​
  • The expected output is similar to the following one. In this example, since DMC mounts both an EFS PV and a TOS PV, you can see that different PVs correspond to different paths in the Pod.​
  • ​
    BFB6F***:ap-df8***.cnbja5ef***.3pspvso***.cn-beijing.efs.ivolces.com:/ 10995116277760 0 10995116277760 0% /tmp/efs​
    BFC74***:doc-tos-demo:/ 9007199254740992 0 9007199254740992 0% /tmp/tos​
    ​
  1. Run the following command to view the data in the PV of the Pod. This example shows how to view data in the TOS PV.​
  • ​
    kubectl exec fsx-demo-5f55*** -- ls /tmp/tos​
    ​
  • The expected response is as follows.​
  • ​
    lost+found​
    ​
  1. Write a file to the PV.​
  • ​
    kubectl exec fsx-demo-5f55*** -- touch /tmp/tos/test​
    ​
  1. Delete the pod.​
  • ​
    kubectl delete pod fsx-demo-5f55***​
    ​
  1. Check the mount path of the PV in the newly created pod.​
  • ​
    kubectl exec fsx-demo-7678*** -- ls /tmp/tos​
    ​
  • The expected result is as follows. You can see that the file written to the PV still exists and is not deleted along with the pod. This indicates that persistent storage of data is achieved.​
  • ​
    lost+found ​
    test​
    ​
​
​
Last updated: 2026.07.24 10:53:35