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 儲存系統。

後端組態選項

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

參數 說明 預設

version

始終為 1

storageDriverName

儲存驅動程式的名稱

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

ontap-nasontap-nas-economyontap-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 中配置新磁碟區時所使用的前置字元。設定後無法更新

註 當使用 ontap-nas-economy 並且 storagePrefix 為 24 個字元或更長時,qtree 將不會嵌入儲存前綴,儘管它會包含在磁碟區名稱中。

"Trident"

aggregate

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

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

請勿指定用於 AFX 儲存系統。

""

limitAggregateUsage

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

" (預設不強制執行)

flexgroupAggregateList

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

註 當 SVM 中的 Aggregate 清單更新時,Trident 會自動輪詢 SVM 來更新該清單,無需重新啟動 Trident Controller。如果您已在 Trident 中設定特定的 Aggregate 清單來配置磁碟區,若該 Aggregate 清單已重新命名或從 SVM 中移出,Trident 在輪詢 SVM Aggregate 時後端將進入故障狀態。您必須將該 Aggregate 清單變更為 SVM 中存在的清單,或將其完全移除,才能使後端恢復連線狀態。

""

limitVolumeSize

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

" (預設不強制執行)

debugTraceFlags

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

null

nasType

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

nfs

nfsMountOptions

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

""

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;將 useREST`變更為 `false`以使用 ONTAPI(ZAPI)呼叫。如果指定,對於 AFX 儲存系統,請始終設定為 `true

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

limitVolumePoolSize

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

" (預設不強制執行)

denyNewVolumePools

限制 `ontap-nas-economy`後端建立新 FlexVol 磁碟區來存放其 Qtree 。僅使用預先存在的 Flexvol 來配置新的 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

在新磁碟區上啟用 NetApp Volume Encryption(NVE);預設值為 false。要使用此選項,叢集必須已獲得 NVE 許可並啟用 NVE。如果後端啟用了 NAE,則在 Trident 中佈建的任何磁碟區都會啟用 NAE。如需詳細資訊,請參閱:"Trident 與 NVE 和 NAE 的運作方式"

"false"

tieringPolicy

分層策略使用 "none"

unixPermissions

新磁碟區模式

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

snapshotDir

控制對 .snapshot 目錄的存取

NFSv4 為 "true" , NFSv3 為 "false"

exportPolicy

要使用的匯出原則

"default"

securityStyle

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

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

nameTemplate

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

""

註 使用 QoS 原則群組搭配 Trident 需要 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 時,先前安裝的現有後端將按照上述說明配置磁碟區。對於升級前建立的磁碟區,您需要調整其大小才能使變更生效。例如,先前使用 snapshotReserve=50 建立的 2 GiB PVC 會產生提供 1 GiB 可寫入空間的磁碟區。將磁碟區大小調整為 3 GiB 後,應用程式將在 6 GiB 磁碟區上獲得 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
基於憑證的驗證範例

這是一個最小的後端設定範例。 clientCertificateclientPrivateKeytrustedCACertificate(如果使用受信任的 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
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 在配置時會將虛擬資源池上的所有標籤複製到儲存磁碟區。為了方便起見,儲存管理員可以為每個虛擬資源池定義標籤,並按標籤將磁碟區分組。

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

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 都會指定哪些虛擬資源池可用於託管磁碟區。磁碟區將具有所選虛擬資源池中定義的各個層面。

  • 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"
  • protection-not-gold StorageClass 將映射到 `ontap-nas-flexgroup`後端的第三和第四個虛擬資源池。這些是唯一提供 gold 以外保護等級的資源池。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: protection-not-gold
    provisioner: csi.trident.netapp.io
    parameters:
      selector: "protection!=gold"
      fsType: "ext4"
  • 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"
  • 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"
  • 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