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

列舉NAS組態選項與範例ONTAP

貢獻者 netapp-aruldeepa juliantap joan-ing netapp-shwetav netapp-mwallis

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

註 只有 `ontap-nas`NetApp AFX 系統支援 NFS 協定驅動程式;不支援 SMB 協定。

後端組態選項

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

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

下表顯示後端組態選項:

參數 說明 預設

「分度」

永遠為1

「torageDriverName」

儲存驅動程式名稱

註 僅適用於NetApp AFX 系統 `ontap-nas`已支援。

ontap-nasontap-nas-economy`或 `ontap-nas-flexgroup

「後端名稱」

自訂名稱或儲存後端

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

《馬納格門達利》

叢集或 SVM 管理 LIF 的 IP 位址可以指定完整網域名稱( FQDN )。如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 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 擷取 dataLIFs 。您可以指定完整網域名稱( FQDN ),以用於 NFS 裝載作業,讓您建立循環 DNS ,以便在多個 dataLIFs 之間進行負載平衡。可在初始設定之後變更。請參閱 。如果使用 IPv6 旗標安裝 Trident 、則可設定為使用 IPv6 位址。IPv6 位址必須以方括弧定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。* MetroCluster 省略。 *請參閱MetroCluster 範例

指定位址或從SVM衍生(若未指定)(不建議使用)

《虛擬機器》

要使用的儲存虛擬機器

* MetroCluster 請省略。 * 請參閱 MetroCluster 範例

如果指定SVM "managementLIF"則衍生

「AutoExpportPolicy」

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

《AutoExpportCIDR》(自動匯出CTR)

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

["0.0.0/0" 、 ":/0"]`

《標籤》

套用到磁碟區的任意JSON-格式化標籤集

"

「用戶端憑證」

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

"

「clientPrivate Key」

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

"

「可信賴的CACertifcate」

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

"

《使用者名稱》

用於連接到叢集/SVM 的使用者名稱。用於基於憑證的身份驗證。有關 Active Directory 驗證,請參閱 "使用 Active Directory 憑證向後端 SVM 驗證Trident 的身份"

密碼

連接到叢集/SVM 的密碼。用於基於憑證的身份驗證。有關 Active Directory 驗證,請參閱 "使用 Active Directory 憑證向後端 SVM 驗證Trident 的身份"

「toragePrefix」

在SVM中配置新磁碟區時所使用的前置碼。設定後無法更新

註 當使用 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 儲存系統

「限制Aggregateusage」

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

""(預設不強制執行)

FlexgroupAggregateList

用於資源配置的集合體清單(選用;如果已設定、則必須指派給 SVM )。指派給 SVM 的所有集合體都會用於佈建 FlexGroup Volume 。支援 * ONTAP NAS FlexGroup * 儲存驅動程式。

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

"

《限制Volume大小》

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

"" (預設不會強制執行)

「DebugTraceFlags」

疑難排解時要使用的偵錯旗標。例如、 { "api" : false 、 "method" : true}

請勿使用 debugTraceFlags 除非您正在疑難排解並需要詳細的記錄傾印。

null

nasType

配置 NFS 或 SMB 磁碟區的建立。選項有 nfs, `smb`或空值。設定為 null 則預設使用 NFS 磁碟區。如果指定,則始終設定為 `nfs`適用於 AFX 儲存系統

nfs

「nfsMountOptions」

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

"

"qtreesPerFlexvol"

每FlexVol 個邊的最大qtree數、必須在範圍內[50、300]

"200"

smbShare

您可以指定下列其中一項:使用 Microsoft 管理主控台或 ONTAP CLI 建立的 SMB 共用名稱;允許 Trident 建立 SMB 共用的名稱;或將參數保留空白以防止共用磁碟區。對於內部部署 ONTAP 、此參數為選用項目。Amazon FSX 需要此參數才能支援 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`預設;更改 `useREST`到 `false`使用 ONTAPI (ZAPI) 呼叫。如果指定,則始終設定為 `true`適用於 AFX 儲存系統

true 對於 ONTAP 9.15.1 或更高版本,否則 false

limitVolumePoolSize

在 ONTAP NAS 經濟型後端使用 qtree 時、可要求的 FlexVol 大小上限。

""(預設不強制執行)

denyNewVolumePools

限制 `ontap-nas-economy`後端建立新的 FlexVol 磁碟區以包含其 qtree 。只有預先存在的 FlexVols 可用於佈建新的 PV 。

adAdminUser

具有 SMB 共用完全存取權限的 Active Directory 管理員使用者或使用者群組。使用此參數可為 SMB 共用提供具有完全控制權的管理員權限。

用於資源配置磁碟區的後端組態選項

您可以使用中的這些選項來控制預設資源配置 defaults 組態區段。如需範例、請參閱下列組態範例。

參數 說明 預設

"paceAllocate(配置)"

qtree 的空間分配

" 對 "

《保護區》

空間保留模式;「無」(精簡)或「 Volume 」(粗)

" 無 "

「快照原則」

要使用的Snapshot原則

" 無 "

「qosPolicy」

要指派給所建立磁碟區的QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy

"

《adaptiveQosPolicy》

要指派給所建立磁碟區的調適性QoS原則群組。選擇每個儲存集區/後端的其中一個qosPolicy或adaptiveQosPolicy。不受ONTAP-NAS-經濟支援。

"

「快照保留區」

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

「 0 」如果 snapshotPolicy 為「無」、否則為「」

「PlitOnClone」

建立複本時、從其父複本分割複本

"假"

加密

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

"假"

「分層政策」

分層原則以使用「無」

「unixPermissions」

新磁碟區的模式

"777" 表示 NFS 磁碟區; SMB 磁碟區為空的(不適用)

「napshotDir

控制對的存取 .snapshot 目錄

true, false(明確設定)。

「匯出政策」

要使用的匯出原則

"預設"

《生態樣式》

新磁碟區的安全樣式。NFS支援 mixedunix 安全樣式:SMB支援 mixedntfs 安全樣式:

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)時,如果快照預留百分比為 50%,則只能獲得 2.5 GiB 的可寫入空間。這是因為使用者要求的是整個磁碟區。 `snapshotReserve`是其中的百分比。在Trident 21.07 中,使用者要求的是可寫入空間,而Trident定義了該空間。 `snapshotReserve`將數值表示為佔總體積的百分比。這不適用於 `ontap-nas-economy。請參閱以下範例以了解其工作原理:

計算方式如下:

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

對於快照預留 = 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 支援Trident的NetApp支援上使用Amazon FSX、建議您指定lifs的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 複寫與還原"

若要無縫切換和切換、請使用指定 SVM managementLIF 並省略 dataLIFsvm 參數。例如:

---
version: 1
storageDriverName: ontap-nas
managementLIF: 192.168.1.66
username: vsadmin
password: password
SMB Volume 範例
---
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
憑證型驗證範例

這是最小的後端組態範例。 clientCertificateclientPrivateKey`和 `trustedCACertificate (選用、如果使用信任的CA)會填入 backend.json 並分別取得用戶端憑證、私密金鑰及信任CA憑證的基礎64編碼值。

---
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-flexgroup`驅動程式的運作方式相同 `ontap-nas-economy

---
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
Amazon FSX for ONTAP 使用 SMB Volume 範例

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

---
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_
名稱範本的後端組態範例
---
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 無、 spaceAllocation 假、和 encryption 錯。虛擬資源池是在儲存區段中定義的。

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

在這些範例中、有些儲存池是自行設定的 spaceReservespaceAllocation`和 `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"

將後端對應至StorageClass

以下 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>
註 如果 PVCS 連接到一個或多個 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。如果沒有註釋,安全 SMB 就無法運作,無論後端或 PVC 中設定了什麼配置。

採用 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