容器服务 PV 和 PVC 管理云硬盘

腾讯云容器服务 TKE 支持通过创建 PV/PVC,并在创建工作负载添加数据卷时使用已有 PVC,实现通过 PV 和 PVC 管理云硬盘。这里说明如何通过控制台、kubectl 两种方式实现 PV 和 PVC 管理云硬盘。

相关产品
容器服务 产品页,含版本规格、价格与购买入口。

一、通过控制台创建 StorageClass

由于静态创建云硬盘类型的 PV 时,需要绑定同类型可用 StorageClass,请参考 创建 StorageClass 完成创建。

二、静态创建 PV

注意:说明:

注意:静态创建 PV 适用于已有存量云盘,并在集群内使用的场景。

1. 登录 容器服务控制台,在左侧导航栏中选择集群。

2. 在集群列表中,单击目标集群 ID,进入集群详情页。

3. 选择左侧菜单栏中的存储 > PersistentVolume,在 PersistentVolume 页面单击新建。如下:

4. 在新建 PersistentVolume 页面,参考以下信息进行创建。如下:

主要参数信息如下:

·来源设置:选择静态创建。

·名称:自定义,这篇以 cbs-pv 为例。

·Provisioner:选择云硬盘CBS。

·读写权限:云硬盘仅支持单机读写。

·StorageClass:按需选择合适的 StorageClass。这篇以选择在 通过控制台创建 StorageClass 步骤中创建的 cbs-test 为例。

注意:说明:

·云盘:选择已经创建好的云硬盘。

·文件系统:默认为 ext4。

5. 单击创建 PersistentVolume 即可完成创建。

三、创建 PVC

1. 在集群详情页,选择左侧菜单栏中的存储 > PersistentVolumeClaim,在 PersistentVolumeClaim 页面单击新建。如下:

2. 在新建 PersistentVolumeClaim 页面,参考以下信息进行创建。如下:

主要参数信息如下:

·名称:自定义,这篇以 cbs-pvc 为例。

·命名空间:选择 “default”。

·Provisioner:选择云硬盘CBS。

·读写权限:云硬盘只支持单机读写。

·StorageClass:按需选择合适的 StorageClass。这篇以选择在 通过控制台创建 StorageClass 步骤中创建的 cbs-test 为例。

注意:说明:

·PersistentVolume:按需指定 PersistentVolume,这篇选择在 静态创建PV 步骤中创建的 cbs-pv 为例。

注意:说明:

3. 单击创建PersistentVolumeClaim,即可完成创建。

四、创建 Workload 使用 PVC 数据卷

注意:说明:

注意:该步骤以创建工作负载 Deployment 为例。

1. 在集群详情页,选择左侧菜单栏中的工作负载 > Deployment。

2. 单击新建,在新建 Deployment 页面,参考 创建 Deployment 进行创建,并参考以下信息进行数据卷挂载。如下:


·数据卷(选填):

·数据卷类型:选择“使用已有PVC”。

·数据卷名称:自定义,这篇以 cbs-vol 为例。

·选择 PVC:选择在步骤 创建 PVC 中已创建的 “cbs-pvc”。

·实例内容器:单击添加挂载点,进行挂载点设置。

·数据卷:选择该步骤中已添加的数据卷 “cbs-vol”。

·目标路径:填写目标路径,这篇以 /cache 为例。

·挂载子路径:仅挂载选中数据卷中的子路径或单一文件。例如,/data 或 /test.txt。

3. 单击创建 Deployment 即可完成创建。

注意:如使用 CBS 的 PVC 挂载模式,则数据卷只能挂载到一台 Node 主机上。

五、kubectl 操作指引

你可通过以下 YAML 示例文件,使用 kubectl 进行创建操作。

六、(可选)创建 PV

可以通过已有云硬盘创建 PV,也可以直接 创建 PVC ,系统将自动创建对应的 PV。YAML 文件示例如下:

apiVersion: v1kind: PersistentVolumemetadata: name: cbs-testspec: accessModes: – ReadWriteOnce capacity: storage: 10Gi csi: driver: com.tencent.cloud.csi.cbs fsType: ext4 readOnly: false volumeHandle: disk-xxx # 指定已有的CBS id storageClassName: cbs

七、创建 PVC

若未 创建 PV,则在创建 PVC 时,系统将自动创建对应的 PV。YAML 文件示例如下:

kind: PersistentVolumeClaimapiVersion: v1metadata: name: nginx-pv-claimspec: storageClassName: cbs accessModes: – ReadWriteOnce resources: requests: storage: 10Gi

·云硬盘大小必须为10的倍数。

·高性能云硬盘最小为10GB,SSD 和增强型 SSD 云硬盘最小为20GB,详情见 创建云硬盘。

八、使用 PVC

可通过创建 Deployment 使用 PVC 数据卷。YAML 示例如下:

apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 1 selector: matchLabels: qcloud-app: nginx-deployment template: metadata: labels: qcloud-app: nginx-deployment spec: containers: – image: nginx imagePullPolicy: Always name: nginx volumeMounts: – mountPath: "/opt/" name: pvc-test volumes: – name: pvc-test persistentVolumeClaim: claimName: nginx-pv-claim # 已经创建好的 PVC

赞 (0)
上一篇 4天前
下一篇 4天前