Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置存储类和 PVC

配置 Kubernetes StorageClass 对象并创建存储类,以指导 Trident 如何配置卷。创建一个 PersistentVolumeClaim (PVC),该 PVC 使用配置的 Kubernetes StorageClass 来请求对 PV 的访问。然后,您可以将 PV 挂载到 pod 上。

创建存储类

配置 Kubernetes StorageClass 对象

https://kubernetes.io/docs/concepts/storage/storage-classes/["Kubernetes StorageClass 对象"^] 对象将 Trident 标识为用于该类的配置程序,并指示 Trident 如何预配卷。使用此示例为使用 NFS 的卷设置 Storageclass(有关属性的完整列表,请参阅下面的 Trident 属性部分):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
  backendType: "ontap-nas"
  provisioningType: "thin"
  snapshots: "true"

使用以下示例为使用 iSCSI 的卷设置 Storageclass:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
  backendType: "ontap-san"
  provisioningType: "thin"
  snapshots: "true"

要在 AWS Bottlerocket 上配置 NFSv3 卷,请将所需的 `mountOptions`添加到存储类:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
  backendType: "ontap-nas"
  media: "ssd"
  provisioningType: "thin"
  snapshots: "true"
mountOptions:
  - nfsvers=3
  - nolock

请参阅"Kubernetes 和 Trident 对象",了解存储类如何与 `PersistentVolumeClaim`交互,以及用于控制 Trident 配置卷的参数详情。

创建存储类

步骤
  1. 这是一个 Kubernetes 对象,因此请使用 kubectl 在 Kubernetes 中创建它。

    kubectl create -f storage-class-ontapnas.yaml
  2. 现在,您应该在 Kubernetes 和 Trident 中都看到 basic-csi 存储类,并且 Trident 应该已经发现了后端的池。

    kubectl get sc basic-csi
NAME         PROVISIONER             AGE
basic-csi    csi.trident.netapp.io   15h

创建 PVC

https://kubernetes.io/docs/concepts/storage/persistent-volumes["_PersistentVolumeClaim_"^](PVC)是访问集群上 PersistentVolume 的请求。

PVC 可以配置为请求特定大小或访问模式的存储。使用关联的 StorageClass,集群管理员可以控制超出 PersistentVolume 大小和访问模式的更多内容——例如性能或服务级别。

创建 PVC 后,您可以将卷安装在 Pod 中。

示例清单

PersistentVolumeClaim 示例清单

这些示例显示了基本的 PVC 配置选项。

带 RWX 访问的 PVC

此示例显示了一个与名为 `basic-csi`的 StorageClass 相关联的具有 RWX 访问权限的基本 PVC。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-storage
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
  storageClassName: ontap-gold
PVC 使用 iSCSI 示例

此示例显示了一个与名为 `protection-gold`的 StorageClass 相关联的具有 RWO 访问权限的 iSCSI 基本 PVC。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
  - ReadWriteOnce
resources:
  requests:
    storage: 1Gi
storageClassName: protection-gold

创建 PVC

步骤
  1. 创建 PVC。

    kubectl create -f pvc.yaml
  2. 验证 PVC 状态。

    kubectl get pvc
NAME        STATUS VOLUME     CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-storage Bound  pv-name 2Gi      RWO                       5m

请参阅"Kubernetes 和 Trident 对象",了解存储类如何与 `PersistentVolumeClaim`交互,以及用于控制 Trident 配置卷的参数详情。

Trident 属性

这些参数确定应使用哪些 Trident 管理的存储池来配置给定类型的卷。

属性 类型 提供 请求 支持方

媒体1

string

hdd、hybrid、ssd

池包含此类型的介质;混合意味着两者兼有

指定媒体类型

ontap-nas,ontap-nas-economy,ontap-nas-flexgroup,ontap-san,solidfire-san

provisioningType

string

薄、厚

池支持此配置方法

已指定配置方法

thick:所有 ONTAP;thin:所有 ONTAP 和 solidfire-san

backendType

string

ontap-nas,ontap-nas-economy,ontap-nas-flexgroup,ontap-san,solidfire-san,azure-netapp-files,ontap-san-economy

池属于此类型的后端

指定后端

所有驱动程序

snapshots

布尔值

true,false

池支持具有快照的卷

已启用快照的卷

ontap-nas、ontap-san、solidfire-san

个克隆

布尔值

true,false

池支持克隆卷

已启用克隆的卷

ontap-nas、ontap-san、solidfire-san

加密

布尔值

true,false

池支持加密卷

已启用加密的卷

ontap-nas,ontap-nas-economy,ontap-nas-flexgroups,ontap-san

IOPS

int

正整数

池能够保证此范围内的 IOPS

卷保证这些 IOPS

solidfire-san

1:ONTAP Select 系统不支持