Skip to main content
此產品有較新版本可以使用。
本繁體中文版使用機器翻譯,譯文僅供參考,若與英文版本牴觸,應以英文版本為準。

ONTAP SAN 設定選項和範例

在 Trident 安裝中建立和使用 ONTAP SAN 驅動程式。本節提供後端組態範例,以及將後端映射至 StorageClasses 的詳細資訊。"ASA r2 系統"與其他 ONTAP 系統(ASA、AFF 和 FAS)在儲存層的實作上有所不同。這些差異會影響某些參數的使用,如註釋所示。"深入瞭解 ASA r2 系統與其他 ONTAP 系統之間的差異"。在 Trident 後端組態中,您無需指定系統為 ASA r2。當您選擇 `ontap-san`作為 `storageDriverName`時,Trident 會自動偵測 ASA r2 或其他 ONTAP 系統。如下表所示,某些後端組態參數不適用於 ASA r2 系統。

註 ASA r2 系統僅支援 `ontap-san`驅動程式(使用 iSCSI、NVMe/TCP 和 FC 協定)。

後端組態選項

從 26.06 版本開始,您可以啟用 ONTAP 均衡放置,以便 ONTAP 為新 Volume 選擇彙總。請參閱 "使用 ONTAP 後端進行均衡放置" 以瞭解需求和範例。

請參閱下表以了解後端組態選項:

參數 說明 預設

version

始終為 1

storageDriverName

儲存設備驅動程式的名稱。建立後無法修改。若要更新此參數,必須建立新的後端。

ontap-san 或 ontap-san-economy

backendName

自訂名稱或儲存後端

驅動程式名稱 + "_" + dataLIF

managementLIF

叢集或 SVM 管理 LIF 的 IP 位址。

可以指定完全限定網域名稱(FQDN)。

如果 Trident 是使用 IPv6 旗標安裝的,則可以設定為使用 IPv6 位址。IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。

如需無縫 MetroCluster 切換、請參閱 MetroCluster 範例。

註 如果使用「 vsadmin 」認證、 `managementLIF`則必須是 SVM 的認證;如果使用「 admin 」認證、 `managementLIF`則必須是叢集的認證。

"10.0.0.1", "[2001:1234:abcd::fefe]"

dataLIF

協定 LIF 的 IP 位址。如果 Trident 是使用 IPv6 旗標安裝的,則可以設定為使用 IPv6 位址。IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。*對於 iSCSI,請勿指定此參數。*Trident 使用"ONTAP Selective LUN Map"來發現建立多路徑會話所需的 iSCSI LIF。如果 `dataLIF`明確定義了此參數,則會產生警告。*對於 MetroCluster,請省略此參數。*請參閱 MetroCluster 範例。

由 SVM 導出

svm

要使用的儲存虛擬機器 *MetroCluster 除外。*請參閱 MetroCluster 範例。

如果指定了 managementLIF SVM,則衍生

useCHAP

使用 CHAP 對 ONTAP SAN 驅動程式的 iSCSI 進行驗證 [布林值]。設定為 `true`時、Trident 會將雙向 CHAP 設定並用作後端中指定 SVM 的預設驗證。如需詳細資訊,請參閱 "準備使用 ONTAP SAN 驅動程式配置後端"。不支援 FCP 或 NVMe/TCP。

false

chapInitiatorSecret

CHAP 啟動器密碼。如果 `useCHAP=true`則為必填項目

""

labels

要套用於磁碟區的任意 JSON 格式標籤集

""

chapTargetInitiatorSecret

CHAP 目標啟動器密碼。如果 `useCHAP=true`則為必填項目

""

chapUsername

入站使用者名稱。如果 `useCHAP=true`則為必填項目

""

chapTargetUsername

目標使用者名稱。如果 `useCHAP=true`則為必填項目

""

clientCertificate

用戶端憑證的 Base64 編碼值。用於憑證型驗證

""

clientPrivateKey

用戶端私密金鑰的 Base64 編碼值。用於憑證型驗證

""

trustedCACertificate

受信任 CA 憑證的 Base64 編碼值。選用。用於憑證型驗證。

""

username

與 ONTAP 叢集通訊所需的使用者名稱。用於基於憑證的身份驗證。有關 Active Directory 驗證,請參閱 "使用 Active Directory 憑證對後端 SVM 進行 Trident 驗證"。

""

password

與 ONTAP 叢集通訊所需的密碼。用於基於憑證的身份驗證。有關 Active Directory 驗證,請參閱 "使用 Active Directory 憑證對後端 SVM 進行 Trident 驗證"。

""

svm

要使用的儲存虛擬機器

如果指定了 managementLIF SVM,則衍生

storagePrefix

在 SVM 中為新 Volume 進行資源配置時所使用的前置詞。之後無法修改。若要更新此參數,您需要建立新的後端。

trident

aggregate

用於資源配置的彙總(可選;如果設定,則必須指派給 SVM)。對於 `ontap-nas-flexgroup`驅動程式,此選項將被忽略。如果未指派,則可以使用任何可用的彙總來資源配置 FlexGroup Volume。

註 當 SVM 中的彙總更新時,Trident 會自動輪詢 SVM 並更新,無需重新啟動 Trident 控制器。如果您已在 Trident 中設定了特定的彙總來資源配置 Volume,並且該彙總被重新命名或從 SVM 移出,則在輪詢 SVM 彙總期間,Trident 中的後端將進入故障狀態。您必須將該彙總變更為 SVM 中存在的彙總,或將其完全移除,才能使後端恢復線上。

請勿為 ASA r2 系統指定。

請勿指定何時 useBalancedPlacement`設定為 `true。

""

useBalancedPlacement

將新 Volume 的彙總選擇委託給 ONTAP [布林值]。需要 ONTAP 9.19.1 或更新版本,且 useREST`設定為 `true。不能與 `aggregate`組合使用。

請參閱 "使用 ONTAP 後端進行均衡放置" 以瞭解需求和範例。

false

limitAggregateUsage

如果使用率超過此百分比,則配置失敗。如果您使用的是 Amazon FSx for NetApp ONTAP 後端,請勿指定 limitAggregateUsage。提供的 `fsxadmin`和 `vsadmin`不包含使用 Trident 檢索 Aggregate 使用情況並加以限制所需的權限。請勿為 ASA r2 系統指定。

" (預設不強制執行)

limitVolumeSize

如果請求的磁碟區大小超過此值,則配置失敗。此外,也會限制其管理的 LUN 磁碟區大小上限。

" (預設不強制執行)

lunsPerFlexvol

每個 FlexVol 的最大 LUN 數量必須在 [50 、 200] 範圍內

100

debugTraceFlags

用於疑難排解的偵錯旗標。例如、{"api":false, "method":true} 除非您正在進行疑難排解並需要詳細的記錄傾印、否則請勿使用。

null

useREST

布林參數,用於使用 ONTAP REST API。

`useREST`當設定為 `true`時,Trident 使用 ONTAP REST API 與後端通訊;當設定為 `false`時,Trident 使用 ONTAPI(ZAPI)呼叫與後端通訊。此功能需要 ONTAP 9.11.1 或更新版本。此外,使用的 ONTAP 登入角色必須具有 `ontapi`應用程式的存取權限。預先定義的 `vsadmin`和 `cluster-admin`角色可滿足此要求。從 Trident 24.06 版本和 ONTAP 9.15.1 或更高版本開始, `useREST`預設設定為 `true`;若要使用 ONTAPI(ZAPI)呼叫,請將 `useREST`變更為 `false`。

useREST 完全符合 NVMe/TCP 標準。

註 NVMe 僅支援 ONTAP REST API ,不支援 ONTAPI ( ZAPI )。

如果指定、則一律設為 true (適用於 ASA r2 系統)。

true 適用於 ONTAP 9.15.1 或更高版本,否則 false。

sanType

用於選擇 iscsi 適用於 iSCSI、 nvme 適用於 NVMe/TCP 或 fcp 適用於 SCSI over Fibre Channel(FC)。

iscsi 如果為空

formatOptions

使用 `formatOptions`為 `mkfs`命令指定命令列參數,此命令會在每次格式化 Volume 時套用。這可讓您根據自己的偏好格式化 Volume。請確保指定的 formatOptions 與 mkfs 命令選項類似,但不包含裝置路徑。例如:"-E nodiscard"

支援使用 iSCSI 傳輸協定的 `ontap-san`和 `ontap-san-economy`驅動程式。*此外,使用 iSCSI 和 NVMe/TCP 傳輸協定時,也支援 ASA r2 系統。*

limitVolumePoolSize

在 ontap-san-economy 後端使用 LUN 時可請求的最大 FlexVol 大小。

" (預設不強制執行)

denyNewVolumePools

限制 `ontap-san-economy`後端建立新的 FlexVol 磁碟區以包含其 LUN 。僅使用預先存在的 Flexvols 來佈建新的 PV。

使用 formatOptions 的建議

Trident 建議採用以下選項來加速格式化程序:

  • -E nodiscard (ext3, ext4): 在執行 mkfs 時不要嘗試丟棄資料區塊(在固態裝置和稀疏 / 精簡配置儲存上、初始丟棄資料區塊很有用)。此選項取代了已棄用的「 -K 」選項、適用於 ext3 和 ext4 檔案系統。

  • -K (xfs): 執行 mkfs 時不要嘗試丟棄資料區塊。此選項適用於 xfs 檔案系統。

使用 Active Directory 憑證對後端 SVM 進行 Trident 驗證

您可以設定 Trident 使用 Active Directory ( AD )憑證對後端 SVM 進行驗證。在 AD 帳戶可以存取 SVM 之前、您必須設定 AD 網域控制站對叢集或 SVM 的存取權限。若要使用 AD 帳戶進行叢集管理、您必須建立網域通道。如需詳細資訊,請參閱 "在 ONTAP 中設定 Active Directory 網域控制器存取"。

步驟
  1. 為後端 SVM 設定網域名稱系統(Domain Name System、DNS)設定:

    vserver services dns create -vserver <svm_name> -dns-servers <dns_server_ip1>,<dns_server_ip2>

  2. 執行下列命令、在 Active Directory 中為 SVM 建立電腦帳戶:

    vserver active-directory create -vserver DataSVM -account-name ADSERVER1 -domain demo.netapp.com

  3. 使用此命令建立 AD 使用者或群組來管理叢集或 SVM

    security login create -vserver <svm_name> -user-or-group-name <ad_user_or_group> -application <application> -authentication-method domain -role vsadmin

  4. 在 Trident 後端組態檔中,將 username 和 password 參數分別設定為 AD 使用者或群組名稱和密碼。

磁碟區配置的後端組態選項

您可以使用 defaults 配置部分中的這些選項來控制預設配置。例如、請參閱下面的組態範例。

參數 說明 預設

spaceAllocation

LUN 的空間分配

"true" 如果指定、請針對 ASA r2 系統設定為 true。

spaceReserve

空間保留模式;「 none 」(精簡)或「 volume 」(完整)。針對 ASA r2 系統設為 none。

"none"

snapshotPolicy

要使用的快照原則。針對 ASA r2 系統設定為 none。

"none"

qosPolicy

要為建立的磁碟區指派 QoS 策略群組。每個儲存資源池/後端可選擇 qosPolicy 或 adaptiveQosPolicy 其中之一。搭配 Trident 使用 QoS 策略群組需要 ONTAP 9.8 或更新版本。您應該使用非共享的 QoS 策略群組,並確保該策略群組單獨套用至每個成員。共享的 QoS 策略群組會強制限制所有工作負載的總吞吐量上限。

""

adaptiveQosPolicy

為建立的磁碟區指派的自適應 QoS 原則群組。為每個儲存資源池 / 後端選擇 qosPolicy 或 adaptiveQosPolicy 其中之一

""

snapshotReserve

為快照預留的磁碟區百分比。請勿為 ASA r2 系統指定。

若 `snapshotPolicy`為「none」,則為「0」,否則為「」

splitOnClone

建立時將複本從其父項分割

"false"

encryption

在新 Volume 上啟用 NetApp Volume Encryption (NVE);預設為 false。必須在叢集上取得 NVE 授權並啟用,才能使用此選項。如果後端已啟用 NAE,則在 Trident 中資源配置的任何 Volume 都會啟用 NAE。如需詳細資訊,請參閱:"Trident 與 NVE 和 NAE 的運作方式"。

"false" 如果指定、請針對 ASA r2 系統設定為 true。

luksEncryption

啟用 LUKS 加密。請參閱 "使用 Linux Unified Key Setup ( LUKS )"。

"" 設定為 `false`適用於 ASA r2 系統。

tieringPolicy

分層策略使用「無」 請勿為 ASA r2 系統指定。

nameTemplate

用於建立自訂磁碟區名稱的範本。

""

Volume 配置範例

以下是定義預設值的範例:

---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: trident_svm
username: admin
password: <password>
labels:
  k8scluster: dev2
  backend: dev2-sanbackend
storagePrefix: alternate-trident
debugTraceFlags:
  api: false
  method: true
defaults:
  spaceReserve: volume
  qosPolicy: standard
  spaceAllocation: 'false'
  snapshotPolicy: default
  snapshotReserve: '10'
註 對於使用此 `ontap-san`驅動程式建立的所有 Volume,Trident 會額外增加 10% 的容量至 FlexVol,以容納 LUN 中繼資料。LUN 的資源配置大小與使用者在 PVC 中要求的大小完全一致。Trident 額外增加 10% 至 FlexVol(在 ONTAP 中顯示為可用大小)。使用者現在可獲得所要求的可用容量。此變更也可防止 LUN 在可用空間未完全使用之前變為唯讀狀態。此變更不適用於 ontap-san-economy。

對於定義了 `snapshotReserve`的後端, Trident 會依照下列方式計算磁碟區的大小:

Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1

1.1 是 Trident 為 FlexVol 額外增加的 10% ,以容納 LUN 元資料。對於 snapshotReserve = 5% ,且 PVC 請求 = 5 GiB ,總磁碟區大小為 5.79 GiB ,可用大小為 5.5 GiB 。 `volume show`命令應顯示與此範例類似的結果:

顯示 volume show 命令的輸出。

目前,調整大小是將新計算方法應用於現有磁碟區的唯一方法。

最小組態範例

以下範例展示了基本配置,其中大多數參數都保留預設值。這是定義後端最簡單的方法。

註 如果您在 NetApp ONTAP 上使用 Amazon FSx for NetApp ONTAP 搭配 Trident,NetApp 建議您為 LIF 指定 DNS 名稱而非 IP 位址。
ONTAP SAN 範例

這是使用 ontap-san 驅動程式的基本配置。

---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
  k8scluster: test-cluster-1
  backend: testcluster1-sanbackend
username: vsadmin
password: <password>
MetroCluster 範例

您可以設定後端、以避免在 "SVM 複製與復原" 期間進行切換和切換後手動更新後端定義。

為了實現無縫切換和回退,請使用 managementLIF 指定 SVM 並省略 svm 參數。例如:

version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
ONTAP SAN 經濟範例
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>
基於憑證的驗證範例

在這個基本設定範例中 clientCertificate、 clientPrivateKey 和 trustedCACertificate(選用,如果使用受信任的 CA)會填入 backend.json 中,並分別採用用戶端憑證、私密金鑰和受信任的 CA 憑證的 base64 編碼值。

---
version: 1
storageDriverName: ontap-san
backendName: DefaultSANBackend
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
雙向 CHAP 範例

這些範例建立了一個後端,並將 useCHAP`設為 `true。

ONTAP SAN CHAP 範例
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
  k8scluster: test-cluster-1
  backend: testcluster1-sanbackend
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
ONTAP SAN economy CHAP 範例
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
均衡佈局範例

此範例啟用 ONTAP 平衡放置,以便 ONTAP 為新 Volume 選擇彙總。平衡放置需要 ONTAP 9.19.1 或更新版本。如需詳細資訊,請參閱 "使用 ONTAP 後端進行均衡放置"。

---
version: 1
storageDriverName: ontap-san
backendName: san-balanced-placement
managementLIF: 10.0.0.1
svm: svm_iscsi
username: vsadmin
password: <password>
useBalancedPlacement: true
NVMe/TCP 範例

您的 ONTAP 後端必須設定一個支援 NVMe 的 SVM。這是 NVMe/TCP 的基本後端組態。

---
version: 1
backendName: NVMeBackend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_nvme
username: vsadmin
password: password
sanType: nvme
useREST: true
SCSI over FC ( FCP ) 範例

您的 ONTAP 後端必須設定一個支援 FC 的 SVM。這是 FC 的基本後端組態。

---
version: 1
backendName: fcp-backend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_fc
username: vsadmin
password: password
sanType: fcp
useREST: true
使用 nameTemplate 的後端組態範例
---
version: 1
storageDriverName: ontap-san
backendName: ontap-san-backend
managementLIF: <ip address>
svm: svm0
username: <admin>
password: <password>
defaults:
  nameTemplate: "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.vo\
    lume.RequestName}}"
labels:
  cluster: ClusterA
  PVC: "{{.volume.Namespace}}_{{.volume.RequestName}}"
formatOptions ontap-san-economy 驅動程式範例
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: ""
svm: svm1
username: ""
password: "!"
storagePrefix: whelk_
debugTraceFlags:
  method: true
  api: true
defaults:
  formatOptions: -E nodiscard

具有虛擬資源池的後端範例

在這些範例後端定義檔中,所有儲存池都設定了特定的預設值,例如 `spaceReserve`為 none、 `spaceAllocation`為 false 和 `encryption`為 false。虛擬資源池在儲存區段中定義。

Trident 在「備註」欄位中設定配置標籤。備註設置在 FlexVol volume 上。Trident 在配置時將虛擬資源池上的所有標籤複製到儲存磁碟區。為了方便起見,儲存管理員可以為每個虛擬資源池定義標籤,並按標籤將磁碟區分組。

在這些範例中,部分儲存資源池設定了自己的 spaceReserve、 spaceAllocation 和 encryption 值,而部分儲存資源池則覆寫了預設值。

ONTAP SAN 範例
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
defaults:
  spaceAllocation: "false"
  encryption: "false"
  qosPolicy: standard
labels:
  store: san_store
  kubernetes-cluster: prod-cluster-1
region: us_east_1
storage:
  - labels:
      protection: gold
      creditpoints: "40000"
    zone: us_east_1a
    defaults:
      spaceAllocation: "true"
      encryption: "true"
      adaptiveQosPolicy: adaptive-extreme
  - labels:
      protection: silver
      creditpoints: "20000"
    zone: us_east_1b
    defaults:
      spaceAllocation: "false"
      encryption: "true"
      qosPolicy: premium
  - labels:
      protection: bronze
      creditpoints: "5000"
    zone: us_east_1c
    defaults:
      spaceAllocation: "true"
      encryption: "false"
ONTAP SAN 經濟範例
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
defaults:
  spaceAllocation: "false"
  encryption: "false"
labels:
  store: san_economy_store
region: us_east_1
storage:
  - labels:
      app: oracledb
      cost: "30"
    zone: us_east_1a
    defaults:
      spaceAllocation: "true"
      encryption: "true"
  - labels:
      app: postgresdb
      cost: "20"
    zone: us_east_1b
    defaults:
      spaceAllocation: "false"
      encryption: "true"
  - labels:
      app: mysqldb
      cost: "10"
    zone: us_east_1c
    defaults:
      spaceAllocation: "true"
      encryption: "false"
  - labels:
      department: legal
      creditpoints: "5000"
    zone: us_east_1c
    defaults:
      spaceAllocation: "true"
      encryption: "false"
NVMe/TCP 範例
---
version: 1
storageDriverName: ontap-san
sanType: nvme
managementLIF: 10.0.0.1
svm: nvme_svm
username: vsadmin
password: <password>
useREST: true
defaults:
  spaceAllocation: "false"
  encryption: "true"
storage:
  - labels:
      app: testApp
      cost: "20"
    defaults:
      spaceAllocation: "false"
      encryption: "false"

將後端對應至 StorageClasses

以下 StorageClass 定義均參照 [具有虛擬資源池的後端範例]。使用 parameters.selector 欄位,每個 StorageClass 都會指出哪些虛擬資源池可用於裝載 Volume。Volume 現在具有所選虛擬資源池中定義的屬性。

  • The protection-gold StorageClass 映射到 ontap-san 後端的第一個虛擬資源池。這是唯一提供黃金級保護的資源池。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: protection-gold
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "protection=gold"
      fsType: "ext4"
  • The protection-not-gold StorageClass 映射至 `ontap-san`後端中的第二和第三個虛擬資源池。這些是唯一提供金級以外其他保護層級的資源池。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: protection-not-gold
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "protection!=gold"
      fsType: "ext4"
  • The app-mysqldb StorageClass 映射到 `ontap-san-economy`後端中的第三個虛擬儲存資源池。這是唯一一個為 mysqldb 類型應用程式提供儲存資源池組態的儲存資源池。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: app-mysqldb
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "app=mysqldb"
      fsType: "ext4"
  • The protection-silver-creditpoints-20k StorageClass 對應至 ontap-san 後端中的第二個虛擬資源池。這是唯一提供白銀級保護和 20000 信用點的資源池。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: protection-silver-creditpoints-20k
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "protection=silver; creditpoints=20000"
      fsType: "ext4"
  • The creditpoints-5k StorageClass 分別對應 `ontap-san`後端中的第三個虛擬資源池和 `ontap-san-economy`後端中的第四個虛擬資源池。只有這兩個資源池產品提供 5000 creditpoints。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: creditpoints-5k
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "creditpoints=5000"
      fsType: "ext4"
  • StorageClass my-test-app-sc`映射到 `testAPP`驅動程式中的虛擬資源池 `ontap-san,並搭配 sanType: nvme。這是唯一提供 `testApp`的資源池。

    ---
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: my-test-app-sc
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "app=testApp"
      fsType: "ext4"

Trident 決定選擇哪個虛擬資源池,並確保符合儲存需求。