設定儲存類別和 PVC
設定 Kubernetes StorageClass 物件並建立儲存類別、以指示 Trident 如何配置磁碟區。建立 PersistentVolume Claim ( PVC ),使用設定的 Kubernetes StorageClass 要求存取 PV 。然後、您可以將 PV 掛載至 Pod 。
建立儲存類別
設定 Kubernetes StorageClass 物件
這 "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
如需儲存類別如何與互動的詳細資訊 PersistentVolumeClaim
、以及控制 Trident 配置磁碟區的參數、請參閱"Kubernetes和Trident物件"。
建立儲存類別
-
這是 Kubernetes 物件、請使用
kubectl
在Kubernetes中建立。kubectl create -f storage-class-ontapnas.yaml
-
現在您應該會在 Kubernetes 和 Trident 中同時看到 * base-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["_PersistentVolume Claim"^]( PVC )是存取叢集上 PersistentVolume 的要求。
可將 PVC 設定為要求儲存特定大小或存取模式。叢集管理員可以使用相關的 StorageClass 來控制超過 PersistentVolume 大小和存取模式的權限、例如效能或服務層級。
建立 PVC 之後,您可以將磁碟區裝入 Pod 。
範例資訊清單
PersistentVolume Claim 範例資訊清單
這些範例顯示基本的 PVC 組態選項。
此範例顯示具有 rwx 存取權的基本 PVC 、與名稱為的 StorageClass 相關聯 basic-csi
。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: ontap-gold
此範例展示了具有 RWO 存取權限的 iSCSI 基本 PVC,它與名為 protection-gold
。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
建立PVC
-
建立 PVC 。
kubectl create -f pvc.yaml
-
確認 PVC 狀態。
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
如需儲存類別如何與互動的詳細資訊 PersistentVolumeClaim
、以及控制 Trident 配置磁碟區的參數、請參閱"Kubernetes和Trident物件"。
Trident 屬性
這些參數決定應使用哪些Trident託管儲存資源池來配置特定類型的磁碟區。
屬性 | 類型 | 價值 | 優惠 | 申請 | 支援者 |
---|---|---|---|---|---|
媒體1^ |
字串 |
HDD、混合式、SSD |
資源池包含此類型的媒體、混合式表示兩者 |
指定的媒體類型 |
ONTAP-NAS、ONTAP-NAS-經濟型、ONTAP-NAS-flexgroup、ONTAP-SAN、solidfire-san |
資源配置類型 |
字串 |
纖薄、厚實 |
Pool支援此資源配置方法 |
指定的資源配置方法 |
厚:全ONTAP 是邊、薄:全ONTAP 是邊、邊、邊、邊、邊、邊、邊、邊、邊、邊、邊 |
後端類型 |
字串 |
ONTAP-NAS、ONTAP-NAS-經濟型、ONTAP-NAS-flexgroup、ONTAP-SAN、solidfire-san、GCP-CVS、azure-NetApp-Files、ONTAP-san經濟 |
集區屬於此類型的後端 |
指定後端 |
所有驅動程式 |
快照 |
布爾 |
對、錯 |
集區支援具有快照的磁碟區 |
已啟用快照的Volume |
ONTAP-NAS、ONTAP-SAN、Solidfire-SAN、GCP-CVS |
複製 |
布爾 |
對、錯 |
資源池支援複製磁碟區 |
已啟用複本的Volume |
ONTAP-NAS、ONTAP-SAN、Solidfire-SAN、GCP-CVS |
加密 |
布爾 |
對、錯 |
資源池支援加密磁碟區 |
已啟用加密的Volume |
ONTAP-NAS、ONTAP-NAS-經濟型、ONTAP-NAS- FlexGroups、ONTAP-SAN |
IOPS |
內部 |
正整數 |
集區能夠保證此範圍內的IOPS |
Volume保證這些IOPS |
solidfire-san |
1:ONTAP Select 不受支援