本文介绍如何创建云盘类型存储卷和存储卷声明,以及工作负载如何使用云盘静态存储卷。
chmod
和chown
操作,导致挂载时间延长。使用云盘类型静态存储卷的详细操作步骤和参数配置如下:
配置项 | 说明 |
---|---|
创建方式 | 选择存储卷的创建方式,支持 静态创建,即由管理员创建 PV。 |
名称 | 根据系统提示,自定义存储卷的名称。需确保存储卷名称在集群内唯一。 |
存储卷类型 | 存储卷类型包括:云盘、文件存储、对象存储。本场景选择 云盘:即使用云服务器(ECS)提供块存储服务,创建存储卷。 |
访问模式 | 选择存储卷的访问方式,目前支持 ReadWriteOnce ,此访问方式支持单点读写。 |
云盘类型 | 不同地域支持的云盘类型可能不同,请按需使用。目前支持 极速型 SSD 两种云盘类型。详细的说明及云盘规格对比,请参见 云盘规格。 说明 不同性能的极速型 SSD 云盘提供的最大 IOPS、最大吞吐量、时延等性能值不同。 |
云盘 | 选择与集群属于相同地域和可用区,且处于待挂载状态的云盘。 注意 请确保所选的云盘所在节点,其已挂载的云盘数量不超过 10 个。否则该存储卷挂载到工作负载后,不能成功启动 Pod。 |
文件系统类型 | 选择存储数据到云盘时的数据类型。目前支持 EXT4。 |
配置项 | 说明 |
---|---|
命名空间 | 选择存储卷声明所属的命名空间。建议选择您自定义的命名空间,或系统默认创建的 default 命名空间。命名空间相关介绍,请参见 命名空间概述。 |
名称 | 根据系统提示自定义存储卷声明的名称,需确保存储卷声明名称在集群内唯一。 |
存储类型 | 存储类型包括:云盘、文件存储、对象存储。本场景选择 云盘。 |
访问模式 | 选择存储卷声明的访问方式,目前支持 ReadWriteOnce ,此访问方式支持单点读写。 |
计费类型 | 按需选择资源计费类型,目前支持按量计费。 |
云盘类型 | 不同地域支持的云盘类型可能不同,请按需使用。目前支持 极速型 SSD 两种云盘类型。详细的说明及云盘规格对比,请参见 云盘规格。 说明 不同性能的极速型 SSD 云盘提供的最大 IOPS、最大吞吐量、时延等性能值不同。 |
创建方式 | 存储卷声明的创建方式包括:基于存储类创建、使用已有存储卷。本场景选择 使用已有存储卷。 |
存储卷 | 选择本文上方步骤二中创建的云盘类型存储卷进行关联挂载。 |
云盘类型的静态存储卷创建完成后,可通过添加卷的方式挂载到工作负载使用,包括:无状态负载、有状态负载、任务、定时任务、守护进程。
可通过创建工作负载或更新工作负载操作的容器配置步骤,为工作负载添加卷并挂载卷。详细操作,请参见 工作负载。
创建 PV 的 YAML 文件。示例文件pv-ebs-essd-static.yaml
代码如下:
说明
当前支持 ESSD_PL0、ESSD_FlexPL 三种云盘类型。详细的说明及云盘规格对比,请参见 云盘规格。
apiVersion: v1 kind: PersistentVolume metadata: name: pv-ebs-essd-static spec: accessModes: - ReadWriteOnce capacity: storage: 20Gi csi: driver: ebs.csi.volcengine.com fsType: ext4 volumeAttributes: ChargeType: PostPaid type: ESSD_PL0 # 云盘类型,云盘名称必须大写 ExtraPerformanceType: IOPS # 额外性能类型,包括:IOPS、Balance、Throughput。仅 type 为 ESSD_FlexPL,且云盘容量大于 500 时间生效。 ExtraPerformanceIOPS: 1000 # 额外性能的 IOPS。仅额外性能类型为 IOPS 或 Balance 生效,取值范围 1-50000。 ExtraPerformanceThroughputMB: 100 # 额外性能包的吞吐量。与 ExtraPerformanceIOPS 参数不同时出现,且额外性能类型为 Throughput 时生效。 zone: cn-beijing-a volumeHandle: vol-cmukmy9yi5bi254b**** #指定已有的极速型SSD云盘 ID volumeMode: Filesystem
执行以下命令,创建 PV。
kubectl apply -f pv-ebs-essd-static.yaml
创建 PVC 的 YAML 文件。示例文件pvc-ebs-essd-static.yaml
的代码如下:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-ebs-essd-static namespace: default spec: accessModes: - ReadWriteOnce resources: requests: storage: 20Gi volumeMode: Filesystem volumeName: pv-ebs-essd-static
执行以下命令创建 PVC。
kubectl apply -f pvc-ebs-essd-static.yaml
创建 Deployment 的 YAML 文件。示例文件deployment-nginx-static.yaml
代码如下:
说明
如果有使用弹性容器实例 VCI 的需求,需要在spec.template.metadata.annotations
中添加vke.volcengine.com/burst-to-vci: enforce
。VCI 具备全托管免运维、按需付费、沙箱容器安全隔离等优势。详细介绍,请参见 什么是弹性容器实例。
apiVersion: apps/v1 kind: Deployment metadata: name: deployment-nginx-static spec: selector: matchLabels: app: nginx template: metadata: annotations: # vke.volcengine.com/burst-to-vci: enforce # 强制使用 VCI,如果有 VCI 需求需要添加本行注解 labels: app: nginx spec: containers: - name: nginx-c1 image: cr-cn-beijing.volces.com/****/vci-demo-nginx:latest #指定需要部署的镜像文件 ports: - containerPort: 80 name: web volumeMounts: - name: ebs-essd-volume0 mountPath: /data volumes: - name: ebs-essd-volume0 persistentVolumeClaim: claimName: pvc-ebs-essd-static #步骤二中创建的 PVC 名称
执行以下命令创建 Deployment。
kubectl apply -f deployment-nginx-static.yaml