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

ONTAP NAS 設定選項和範例

在 Trident 安裝中建立和使用 ONTAP NAS 驅動程式。本節提供後端組態範例,以及將後端映射至 StorageClasses 的詳細資訊。從 25.10 版本開始,NetApp Trident 支援"NetApp AFX 儲存系統"。NetApp AFX 儲存系統與其他基於 ONTAP 的系統(ASA、AFF 和 FAS)在儲存層的實作上有所不同。

註 僅支援 ontap-nas 驅動程式(使用 NFS 協定)用於 NetApp AFX 系統;不支援 SMB 協定。

後端組態選項

在 Trident 後端組態中、您不需要指定系統是 NetApp AFX 儲存系統。當您選取 `ontap-nas`作為 `storageDriverName`時、 Trident 會自動偵測 AFX 儲存系統。部分後端組態參數不適用於 AFX 儲存系統。

從 26.06 版本開始,您可以啟用 ONTAP 均衡放置,以便 ONTAP 為新 Volume 選擇彙總。ONTAP 9.19.1 或更新版本上的 AFX 儲存系統需要啟用均衡放置功能。請參閱 "使用 ONTAP 後端進行均衡放置" 以瞭解需求和範例。

下表顯示後端組態選項:

參數 說明 預設

version

始終為 1

storageDriverName

儲存設備驅動程式的名稱。

建立後無法修改。若要更新此參數,必須建立新的後端。

註 對於 NetApp AFX 系統,僅支援 ontap-nas。

ontap-nas、 ontap-nas-economy 或 ontap-nas-flexgroup

backendName

自訂名稱或儲存後端

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

managementLIF

叢集或 SVM 管理 LIF 的 IP 位址,可以指定完整網域名稱(FQDN)。如果 Trident 是使用 IPv6 旗標安裝的,則可以設定為使用 IPv6 位址。IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。如需無縫 MetroCluster 切換、請參閱 MetroCluster 範例。

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

dataLIF

協定 LIF 的 IP 位址。NetApp 建議指定 dataLIF。如果未提供,Trident 將從 SVM 取得 dataLIF。您可以指定一個完全限定網域名稱 (FQDN) 用於 NFS 掛載作業,從而建立輪詢 DNS 以在多個 dataLIF 之間進行負載平衡。初始設定後可以變更。請參閱 。如果 Trident 是使用 IPv6 旗標安裝的,則可以設定為使用 IPv6 位址。IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。*對於 MetroCluster,請省略此參數。*請參閱 MetroCluster 範例。

指定的位址或從 SVM 衍生(如果未指定)(不建議)

svm

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

如果指定了 managementLIF SVM,則衍生

autoExportPolicy

啟用自動匯出原則建立和更新 [布林值]。使用 `autoExportPolicy`和 `autoExportCIDRs`選項,Trident 可以自動管理匯出原則。

錯誤

autoExportCIDRs

啟用 `autoExportPolicy`時用於篩選 Kubernetes 節點 IP 的 CIDR 清單。使用 `autoExportPolicy`和 `autoExportCIDRs`選項,Trident 可以自動管理匯出原則。

["0.0.0.0/0", "::/0"]`

labels

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

""

clientCertificate

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

""

clientPrivateKey

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

""

trustedCACertificate

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

""

username

用於連接叢集 / SVM 的使用者名稱。用於基於憑證的驗證。有關 Active Directory 驗證、請參閱 "使用 Active Directory 憑證對後端 SVM 進行 Trident 驗證"。

password

連接到叢集 / SVM 的密碼。用於基於憑證的驗證。有關 Active Directory 驗證、請參閱 "使用 Active Directory 憑證對後端 SVM 進行 Trident 驗證"。

storagePrefix

在 SVM 中為新 Volume 進行資源配置時所使用的前置詞。設定後無法更新

註 當使用 ontap-nas-economy 且 storagePrefix 為 24 個或更多字元時,qtree 中不會嵌入儲存設備前綴,但它存在於 Volume 名稱中。

"Trident"

aggregate

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

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

請勿為 AFX 儲存系統指定此規則。

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

""

useBalancedPlacement

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

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

如果指定,對於 ONTAP 9.19.1 或更新版本的 AFF 儲存系統,一律設定為 true。

false; true 適用於 ONTAP 9.19.1 或更新版本的 AFX 儲存系統

limitAggregateUsage

如果使用率超過此百分比,則配置失敗。不適用於 Amazon FSx for ONTAP。請勿為 AFX 儲存系統指定此規則。

" (預設不強制執行)

flexgroupAggregateList

用於配置的 Aggregate 清單(選用;如果設定,則必須指派給 SVM)。指派給 SVM 的所有 Aggregate 都將用於配置 FlexGroup Volume。ontap-nas-flexgroup 儲存驅動程式支援此功能。

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

""

limitVolumeSize

如果請求的磁碟區大小超過此值,則配置失敗。

" (預設不強制執行)

debugTraceFlags

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

null

nasType

配置 NFS 或 SMB 磁碟區的建立。選項為 nfs、 smb`或 null。設定為 null 則預設建立 NFS 磁碟區。如果指定,對於 AFX 儲存系統,請始終設定為 `nfs。

nfs

nfsMountOptions

以逗號分隔的 NFS 裝載選項清單。Kubernetes 持久性磁碟區的裝載選項通常在儲存設備類別中指定,但如果儲存設備類別中未指定任何裝載選項,Trident 將回退到使用儲存設備後端組態檔案中指定的裝載選項。如果儲存設備類別和組態檔案中均未指定裝載選項,Trident 將不會在關聯的持久性 Volume 上設定任何裝載選項。

""

qtreesPerFlexvol

每個 FlexVol 的最大 Qtree 數量必須在 [50, 300] 範圍內

"200"

smbShare

您可以指定以下選項之一:使用 Microsoft Management Console 或 ONTAP CLI 建立的 SMB 共用名稱;允許 Trident 建立 SMB 共用的名稱;或者您可以將此參數留空以封鎖對磁碟區的公共共用存取。對於內部部署 ONTAP,此參數為選用項目。對於 Amazon FSx for ONTAP 後端,此參數為必要項目且不能為空白。

smb-share

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。如果指定,對於 AFX 儲存系統,請始終設定為 true。

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

limitVolumePoolSize

在 ontap-nas-economy 後端中使用 Qtree 時可請求的最大 FlexVol 大小。

" (預設不強制執行)

denyNewVolumePools

限制 `ontap-nas-economy`後端建立新 FlexVol 磁碟區來存放其 Qtree 。僅使用預先存在的 Flexvols 來佈建新的 PV。

adAdminUser

擁有對 SMB 共用完全存取權限的 Active Directory 管理員使用者或使用者群組。使用此參數可授予對 SMB 共用的完全控制權限。

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

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

參數 說明 預設

spaceAllocation

Qtree 的空間分配

"true"

spaceReserve

空間保留模式;「 none 」(精簡)或「 volume 」(完整)

"none"

snapshotPolicy

要使用的 Snapshot 原則

"none"

qosPolicy

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

""

adaptiveQosPolicy

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

""

snapshotReserve

為快照保留的磁碟區百分比

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

splitOnClone

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

"false"

encryption

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

"false"

tieringPolicy

分層策略使用 "none"

unixPermissions

新磁碟區模式

NFS 磁碟區為「777」;SMB 磁碟區為空(不適用)

snapshotDir

控制對 .snapshot 目錄的存取

true, false(明確設定)。

exportPolicy

要使用的匯出原則

"default"

securityStyle

新磁碟區的安全樣式。NFS 支援 `mixed`和 `unix`安全樣式。SMB 支援 `mixed`和 `ntfs`安全樣式。

NFS 預設值為 unix。SMB 預設值為 ntfs。

nameTemplate

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

""

註 搭配 Trident 使用 QoS 策略群組需要 ONTAP 9.8 或更新版本。您應該使用非共享的 QoS 原則群組,並確保該原則群組分別套用於每個成員。共享的 QoS 策略群組會強制限制所有工作負載的總吞吐量上限。

Volume 配置範例

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

---
version: 1
storageDriverName: ontap-nas
backendName: customBackendName
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
labels:
  k8scluster: dev1
  backend: dev1-nasbackend
svm: trident_svm
username: cluster-admin
password: <password>
limitAggregateUsage: 80%
limitVolumeSize: 50Gi
nfsMountOptions: nfsvers=4
debugTraceFlags:
  api: false
  method: true
defaults:
  spaceReserve: volume
  qosPolicy: premium
  exportPolicy: myk8scluster
  snapshotPolicy: default
  snapshotReserve: "10"

對於 ontap-nas`和 `ontap-nas-flexgroups,Trident 現在使用新的計算方法,以確保 FlexVol 的大小與 snapshotReserve 百分比和 PVC 正確匹配。當使用者要求 PVC 時,Trident 會使用新的計算方法建立更大的原始 FlexVol。此計算方法可確保使用者在 PVC 中獲得其請求的可寫入空間,而不是少於其請求的空間。在 v21.07 之前,當使用者請求 PVC(例如 5 GiB)且 snapshotReserve 百分比為 50% 時,他們只能獲得 2.5 GiB 的可寫空間。這是因為使用者要求的是整個磁碟區,而 snapshotReserve`是其百分比。在 Trident 21.07 中,使用者要求的是可寫入空間,Trident 將該 `snapshotReserve`數值定義為整個磁碟區的百分比。這不適用於 `ontap-nas-economy。請參閱以下範例以了解其工作原理:

計算方法如下:

Total volume size = <PVC requested size> / (1 - (<snapshotReserve percentage> / 100))

對於 snapshotReserve = 50% 以及 PVC 請求 = 5 GiB,總磁碟區大小為 5/.5 = 10 GiB,可用大小為 5 GiB,這正是使用者在 PVC 請求中所要求的大小。 `volume show`命令應顯示與此範例類似的結果:

顯示 volume show 命令的輸出。

升級 Trident 時,對於先前安裝的現有後端,請依照上述說明進行 Volume 資源配置。對於升級前建立的 Volume,您需要調整其大小才能使變更生效。例如,2 GiB 的 PVC 搭配 `snapshotReserve=50`先前產生的 Volume 僅提供 1 GiB 的可寫入空間。例如,將 Volume 調整為 3 GiB,即可為應用程式在 6 GiB 的 Volume 上提供 3 GiB 的可寫入空間。

最小組態範例

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

註 如果您在 NetApp ONTAP 上使用 Amazon FSx 搭配 Trident,建議為 LIF 指定 DNS 名稱而非 IP 位址。
ONTAP NAS 經濟範例
---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
ONTAP NAS FlexGroup 範例
---
version: 1
storageDriverName: ontap-nas-flexgroup
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
MetroCluster 範例

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

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

---
version: 1
storageDriverName: ontap-nas
managementLIF: 192.168.1.66
username: vsadmin
password: password
SMB 磁碟區範例
---
version: 1
backendName: ExampleBackend
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
nasType: smb
securityStyle: ntfs
unixPermissions: ""
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
基於憑證的驗證範例

這是一個最小的後端設定範例。 clientCertificate、 clientPrivateKey 和 trustedCACertificate(如果使用受信任的 CA,則為可選)分別填充在 backend.json 中,並分別接受客戶端憑證、私鑰和受信任的 CA 憑證的 base64 編碼值。

---
version: 1
backendName: DefaultNASBackend
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.15
svm: nfs_svm
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
storagePrefix: myPrefix_
自動匯出原則範例

本範例示範如何指示 Trident 使用動態匯出原則來自動建立和管理匯出原則。這對於 `ontap-nas-economy`和 `ontap-nas-flexgroup`驅動程式的運作方式相同。

---
version: 1
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
labels:
  k8scluster: test-cluster-east-1a
  backend: test1-nasbackend
autoExportPolicy: true
autoExportCIDRs:
- 10.0.0.0/24
username: admin
password: password
nfsMountOptions: nfsvers=4
均衡佈局範例

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

---
version: 1
storageDriverName: ontap-nas
backendName: nas-balanced-placement
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
username: vsadmin
password: password
useBalancedPlacement: true
IPv6 位址範例

此範例展示 `managementLIF`使用 IPv6 位址。

---
version: 1
storageDriverName: ontap-nas
backendName: nas_ipv6_backend
managementLIF: "[5c5d:5edf:8f:7657:bef8:109b:1b41:d491]"
labels:
  k8scluster: test-cluster-east-1a
  backend: test1-ontap-ipv6
svm: nas_ipv6_svm
username: vsadmin
password: password
使用 SMB 磁碟區的 Amazon FSx for ONTAP 範例

使用 SMB 磁碟區的 FSx for ONTAP 需要 smbShare 參數。

---
version: 1
backendName: SMBBackend
storageDriverName: ontap-nas
managementLIF: example.mgmt.fqdn.aws.com
nasType: smb
dataLIF: 10.0.0.15
svm: nfs_svm
smbShare: smb-share
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
storagePrefix: myPrefix_
使用 nameTemplate 的後端組態範例
---
version: 1
storageDriverName: ontap-nas
backendName: ontap-nas-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}}"

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

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

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

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

ONTAP NAS 範例
---
version: 1
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
svm: svm_nfs
username: admin
password: <password>
nfsMountOptions: nfsvers=4
defaults:
  spaceReserve: none
  encryption: "false"
  qosPolicy: standard
labels:
  store: nas_store
  k8scluster: prod-cluster-1
region: us_east_1
storage:
  - labels:
      app: msoffice
      cost: "100"
    zone: us_east_1a
    defaults:
      spaceReserve: volume
      encryption: "true"
      unixPermissions: "0755"
      adaptiveQosPolicy: adaptive-premium
  - labels:
      app: slack
      cost: "75"
    zone: us_east_1b
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0755"
  - labels:
      department: legal
      creditpoints: "5000"
    zone: us_east_1b
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0755"
  - labels:
      app: wordpress
      cost: "50"
    zone: us_east_1c
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0775"
  - labels:
      app: mysqldb
      cost: "25"
    zone: us_east_1d
    defaults:
      spaceReserve: volume
      encryption: "false"
      unixPermissions: "0775"
ONTAP NAS FlexGroup 範例
---
version: 1
storageDriverName: ontap-nas-flexgroup
managementLIF: 10.0.0.1
svm: svm_nfs
username: vsadmin
password: <password>
defaults:
  spaceReserve: none
  encryption: "false"
labels:
  store: flexgroup_store
  k8scluster: prod-cluster-1
region: us_east_1
storage:
  - labels:
      protection: gold
      creditpoints: "50000"
    zone: us_east_1a
    defaults:
      spaceReserve: volume
      encryption: "true"
      unixPermissions: "0755"
  - labels:
      protection: gold
      creditpoints: "30000"
    zone: us_east_1b
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0755"
  - labels:
      protection: silver
      creditpoints: "20000"
    zone: us_east_1c
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0775"
  - labels:
      protection: bronze
      creditpoints: "10000"
    zone: us_east_1d
    defaults:
      spaceReserve: volume
      encryption: "false"
      unixPermissions: "0775"
ONTAP NAS 經濟範例
---
version: 1
storageDriverName: ontap-nas-economy
managementLIF: 10.0.0.1
svm: svm_nfs
username: vsadmin
password: <password>
defaults:
  spaceReserve: none
  encryption: "false"
labels:
  store: nas_economy_store
region: us_east_1
storage:
  - labels:
      department: finance
      creditpoints: "6000"
    zone: us_east_1a
    defaults:
      spaceReserve: volume
      encryption: "true"
      unixPermissions: "0755"
  - labels:
      protection: bronze
      creditpoints: "5000"
    zone: us_east_1b
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0755"
  - labels:
      department: engineering
      creditpoints: "3000"
    zone: us_east_1c
    defaults:
      spaceReserve: none
      encryption: "true"
      unixPermissions: "0775"
  - labels:
      department: humanresource
      creditpoints: "2000"
    zone: us_east_1d
    defaults:
      spaceReserve: volume
      encryption: "false"
      unixPermissions: "0775"

將後端對應至 StorageClasses

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

  • The protection-gold StorageClass 對應至 `ontap-nas-flexgroup`後端中的第一個和第二個虛擬資源池。這些是唯一提供黃金層級保護的資源池。

    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-nas-flexgroup`後端中的第三和第四個虛擬資源池。這些是唯一提供黃金以外保護層級的資源池。

    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-nas`後端中的第四個虛擬儲存資源池。這是唯一一個為 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-nas-flexgroup 後端中的第三個虛擬資源池。這是唯一提供白銀級保護和 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-nas`後端中的第三個虛擬資源池和 `ontap-nas-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"

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

初始配置後更新 dataLIF

初始設定完成後,您可以執行以下命令來變更 dataLIF,以提供包含更新 dataLIF 的新後端 JSON 檔案。

tridentctl update backend <backend-name> -f <path-to-backend-json-file-with-updated-dataLIF>
註 如果 PVC 連接到一個或多個 Pod、則必須關閉所有對應的 Pod、然後再將其重新啟動、以便讓新的 dataLIF 生效。

安全 SMB 範例

使用 ontap-nas 驅動程式進行後端組態

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-ontap-nas
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-nas
  managementLIF: 10.0.0.1
  svm: svm2
  nasType: smb
  defaults:
    adAdminUser: tridentADtest
  credentials:
    name: backend-tbc-ontap-invest-secret

使用 ontap-nas-economy 驅動程式進行後端組態

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-ontap-nas
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-nas-economy
  managementLIF: 10.0.0.1
  svm: svm2
  nasType: smb
  defaults:
    adAdminUser: tridentADtest
  credentials:
    name: backend-tbc-ontap-invest-secret

後端配置與儲存資源池

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-ontap-nas
  namespace: trident
spec:
  version: 1
  storageDriverName: ontap-nas
  managementLIF: 10.0.0.1
  svm: svm0
  useREST: false
  storage:
  - labels:
      app: msoffice
    defaults:
      adAdminUser: tridentADuser
  nasType: smb
  credentials:
    name: backend-tbc-ontap-invest-secret

使用 ontap-nas 驅動程式的儲存類別範例

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-smb-sc
  annotations:
    trident.netapp.io/smbShareAdUserPermission: change
    trident.netapp.io/smbShareAdUser: tridentADtest
parameters:
  backendType: ontap-nas
  csi.storage.k8s.io/node-stage-secret-name: smbcreds
  csi.storage.k8s.io/node-stage-secret-namespace: trident
  trident.netapp.io/nasType: smb
provisioner: csi.trident.netapp.io
reclaimPolicy: Delete
volumeBindingMode: Immediate
註 請務必新增 `annotations`以啟用安全 SMB 。無論後端或 PVC 中如何配置、如果沒有這些註釋、安全 SMB 都無法正常運作。

使用 ontap-nas-economy 驅動程式的儲存類別範例

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: ontap-smb-sc
  annotations:
    trident.netapp.io/smbShareAdUserPermission: change
    trident.netapp.io/smbShareAdUser: tridentADuser3
parameters:
  backendType: ontap-nas-economy
  csi.storage.k8s.io/node-stage-secret-name: smbcreds
  csi.storage.k8s.io/node-stage-secret-namespace: trident
  trident.netapp.io/nasType: smb
provisioner: csi.trident.netapp.io
reclaimPolicy: Delete
volumeBindingMode: Immediate

包含單一 AD 使用者的 PVC 範例

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-pvc4
  namespace: trident
  annotations:
    trident.netapp.io/smbShareAccessControl: |
      change:
        - tridentADtest
      read:
        - tridentADuser
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: ontap-smb-sc

包含多個 AD 使用者的 PVC 範例

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-test-pvc
  annotations:
    trident.netapp.io/smbShareAccessControl: |
      full_control:
        - tridentTestuser
        - tridentuser
        - tridentTestuser1
        - tridentuser1
      change:
        - tridentADuser
        - tridentADuser1
        - tridentADuser4
        - tridentTestuser2
      read:
        - tridentTestuser2
        - tridentTestuser3
        - tridentADuser2
        - tridentADuser3
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi