使用云硬盘静态存储卷 步骤二:创建持久卷声明(PVC) 1. 创建示例yaml文件pvcstaticdisk.yaml: shell apiVersion: v1 kind: PersistentVolumeClaim metadata: annotations: volume.beta.kubernetes.io/storageprovisioner: disk.csi.cstor.com name: pvcstaticdisk namespace: default spec: accessModes: ReadWriteOnce resources: requests: storage: 10Gi volumeMode: Filesystem volumeName: {YOURPVNAME} 替换PV名称 2. 执行以下命令,创建pvc: shell kubectl apply f pvcstaticdisk.yaml 步骤三:创建工作负载 1. 创建示例yaml文件podpvcstaticdisk.yaml: shell apiVersion: apps/v1 kind: StatefulSet metadata: name: nginxpvcstaticdisk labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginxpvcstaticdisk serviceName: "" template: metadata: labels: app: nginxpvcstaticdisk spec: containers: image: "registryhuadong1.crsinternal.ctyun.cn/opensource/nginx:1.26alpineslim" imagePullPolicy: "IfNotPresent" name: "nginx" resources: limits: cpu: "100m" memory: "256Mi" requests: cpu: "100m" memory: "256Mi" volumeMounts: mountPath: "/mnt/data" name: "volume1" volumes: name: "volume1" persistentVolumeClaim: claimName: "pvcstaticdisk" 2. 执行以下命令,创建StatefulSet: shell kubectl apply f podpvcstaticdisk.yaml 步骤四:验证数据持久化 1. 登录弹性容器服务管理控制台。 2. 在容器组列表页点击刚才创建的实例。 3. 点击“远程连接”页签,进入到容器内。 4. 向/mnt/data 目录下写一个文件,执行: shell echo "Hello World" > /mnt/data/test.log 5. 查看/mnt/data 目录下文件,执行: shell cat /mnt/data/test.log 预期结果如下: 6. 退出“远程连接”,使用kubectl删除pod,会触发pod自动重建,等待Pod重新运行正常。 shell kubectl delete po nginxpvcstaticdisk0 7. 对新建Pod,登录弹性容器服务管理控制台,继续执行“远程连接”,进入到容器内查看数据。执行: shell cat /mnt/data/test.log 预期结果如下: 8. 以上步骤说明,pod删除重建后,重新挂载云盘,数据仍然存在,说明云硬盘中的数据可持久化保存。