配置儲存後端
ONTAP SAN 和 NAS 驅動程式集成
若要建立儲存後端,您需要建立 JSON 或 YAML 格式的設定檔。該文件需要指定您想要的儲存類型(NAS 或 SAN)、檔案系統、要從中取得儲存的 SVM 以及如何對其進行驗證。以下範例展示如何定義基於 NAS 的存儲,以及如何使用 AWS Secret 來儲存要使用的 SVM 的憑證:
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nas
namespace: trident
spec:
version: 1
storageDriverName: ontap-nas
backendName: tbc-ontap-nas
svm: svm-name
aws:
fsxFilesystemID: fs-xxxxxxxxxx
credentials:
name: "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name"
type: awsarn
{
"apiVersion": "trident.netapp.io/v1",
"kind": "TridentBackendConfig",
"metadata": {
"name": "backend-tbc-ontap-nas"
"namespace": "trident"
},
"spec": {
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "tbc-ontap-nas",
"svm": "svm-name",
"aws": {
"fsxFilesystemID": "fs-xxxxxxxxxx"
},
"managementLIF": null,
"credentials": {
"name": "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name",
"type": "awsarn"
}
}
}
執行下列命令以建立和驗證Trident後端設定 (TBC):
-
從 yaml 檔案建立 Trident 後端設定 (TBC),並執行下列命令:
kubectl create -f backendconfig.yaml -n tridenttridentbackendconfig.trident.netapp.io/backend-tbc-ontap-nas created
-
驗證 Trident 後端設定 (TBC) 是否已成功建立:
Kubectl get tbc -n tridentNAME BACKEND NAME BACKEND UUID PHASE STATUS backend-tbc-ontap-nas tbc-ontap-nas 933e0071-66ce-4324-b9ff-f96d916ac5e9 Bound Success
FSx 適用於ONTAP驅動程式的詳細信息
您可以使用下列驅動程式將Trident與Amazon FSx for NetApp ONTAP整合:
-
`ontap-san`每個已設定的 PV 都是其自身Amazon FSx for NetApp ONTAP磁碟區中的一個 LUN。推薦用於塊存儲。
-
`ontap-nas`每個已配置的 PV 都是一個完整的Amazon FSx for NetApp ONTAP磁碟區。推薦用於NFS和SMB。
-
`ontap-san-economy`每個已設定的 PV 都是一個 LUN,每個Amazon FSx for NetApp ONTAP磁碟區可設定 LUN 的數量。
-
`ontap-nas-economy`每個已配置的 PV 都是一個 qtree,每個Amazon FSx for NetApp ONTAP磁碟區可以配置 qtree 的數量。
-
`ontap-nas-flexgroup`每個已配置的 PV 都是一個完整的Amazon FSx for NetApp ONTAP FlexGroup磁碟區。
設定檔建立完成後,執行以下命令將其建立在 EKS 中:
kubectl create -f configuration_file
若要驗證狀態,請執行以下命令:
kubectl get tbc -n trident
NAME BACKEND NAME BACKEND UUID PHASE STATUS backend-fsx-ontap-nas backend-fsx-ontap-nas 7a551921-997c-4c37-a1d1-f2f4c87fa629 Bound Success
後端高級配置和範例
請參閱下表以了解後端配置選項:
| 範圍 | 描述 | 例子 |
|---|---|---|
|
始終為 1 |
|
|
儲存驅動程式的名稱 |
|
|
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
|
叢集或 SVM 管理 LIF 的 IP 位址可以指定完全限定網域名稱 (FQDN)。如果Trident安裝時使用了 IPv6 標誌,則可以設定為使用 IPv6 位址。 IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。如果您提供 `fsxFilesystemID`在 `aws`在欄位中,您無需提供 `managementLIF`因為Trident可以檢索 SVM `managementLIF`來自 AWS 的資訊。因此,您必須提供 SVM 下使用者的憑證(例如:vsadmin),且該使用者必須擁有下列權限: `vsadmin`角色。 |
"10.0.0.1", "[2001:1234:abcd::fefe]" |
|
LIF協定的IP位址。 * ONTAP NAS 驅動程式*: NetApp建議指定 dataLIF。如果未提供, Trident將從 SVM 取得 dataLIF。您可以指定一個完全限定網域名稱 (FQDN) 用於 NFS 掛載操作,從而建立輪詢 DNS 以在多個 dataLIF 之間進行負載平衡。初始設定後可以更改。參考。 * ONTAP SAN 驅動程式*:不要為 iSCSI 指定。 Trident使用ONTAP選擇性 LUN 對應來發現建立多路徑會話所需的 iSCI LIF。如果明確定義了 dataLIF,則會產生警告。如果Trident安裝時使用了 IPv6 標誌,則可以設定為使用 IPv6 位址。 IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。 |
|
|
啟用自動匯出策略建立和更新 [布林值]。使用 `autoExportPolicy`和 `autoExportCIDRs`選用功能包括: Trident可以自動管理出口策略。 |
|
|
用於過濾 Kubernetes 節點 IP 的 CIDR 列表 `autoExportPolicy`已啟用。使用 `autoExportPolicy`和 `autoExportCIDRs`選用功能包括: Trident可以自動管理出口策略。 |
"["0.0.0.0/0", "::/0"]" |
|
若要套用於磁碟區的任意 JSON 格式標籤集 |
“” |
|
用戶端憑證的 Base64 編碼值。用於基於憑證的身份驗證 |
“” |
|
客戶端私鑰的 Base64 編碼值。用於基於憑證的身份驗證 |
“” |
|
受信任 CA 憑證的 Base64 編碼值。選修的。用於基於憑證的身份驗證。 |
“” |
|
連接到叢集或 SVM 的使用者名稱。用於基於憑證的身份驗證。例如,vsadmin。 |
|
|
連接叢集或SVM的密碼。用於基於憑證的身份驗證。 |
|
|
使用的儲存虛擬機 |
如果指定了 SVM 管理 LIF,則派生出該 LIF。 |
|
在 SVM 中配置新磁碟區時所使用的前綴。創建後無法修改。要更新此參數,您需要建立一個新的後端。 |
|
|
*請勿指定用於Amazon FSx for NetApp ONTAP。 *提供的 `fsxadmin`和 `vsadmin`不包含檢索匯總使用情況和使用Trident限制它所需的權限。 |
請勿使用。 |
|
如果請求的磁碟區大小大於此值,則配置失敗。此外,它還限制了其管理的 qtree 和 LUN 卷的最大大小,以及 `qtreesPerFlexvol`此選項允許自訂每個FlexVol volume的最大 qtree 數量。 |
(預設不強制執行) |
|
每個 Flexvol 卷的最大 LUN 數必須在 [50, 200] 範圍內。僅限SAN。 |
“ |
|
故障排除時要使用的調試標誌。例如,{"api":false, "method":true} 請勿使用 `debugTraceFlags`除非您正在進行故障排除並且需要詳細的日誌轉儲。 |
無效的 |
|
以逗號分隔的 NFS 掛載選項清單。 Kubernetes 持久性磁碟區的掛載選項通常在儲存類別中指定,但如果儲存類別中沒有指定掛載選項, Trident將回退到使用儲存後端設定檔中指定的掛載選項。如果在儲存類別或設定檔中未指定任何掛載選項, Trident將不會在關聯的持久性磁碟區上設定任何掛載選項。 |
“” |
|
配置 NFS 或 SMB 磁碟區的建立。選項有 |
|
|
每個FlexVol volume的最大 Qtree 數量必須在 [50, 300] 範圍內 |
|
|
您可以指定以下名稱之一:使用 Microsoft 管理主控台或ONTAP CLI 所建立的 SMB 共用的名稱,或允許Trident建立 SMB 共用的名稱。此參數是Amazon FSx for ONTAP後端所必需的。 |
|
|
使用ONTAP REST API 的布林參數。設定為 `true`Trident將使用ONTAP REST API 與後端進行通訊。此功能需要ONTAP 9.11.1 及更高版本。此外,所使用的ONTAP登入角色必須具有存取權限。 `ontap`應用。預定義項滿足了這一點。 `vsadmin`和 `cluster-admin`角色。 |
|
|
您可以在 AWS FSx for ONTAP的設定檔中指定以下內容: - |
|
|
指定要儲存在 AWS Secrets Manager 中的 FSx SVM 憑證。 - |
用於配置磁碟區的後端配置選項
您可以使用下列選項控制預設配置。 `defaults`配置部分。例如,請參閱下面的設定範例。
| 範圍 | 描述 | 預設 |
|---|---|---|
|
LUN 的空間分配 |
|
|
空間預留模式;「無」(細)或「大量」(粗) |
|
|
要使用的快照策略 |
|
|
若要為建立的磁碟區指派的 QoS 策略群組。每個儲存池或後端選擇 qosPolicy 或 adaptiveQosPolicy 之一。將 QoS 策略群組與Trident結合使用需要ONTAP 9.8 或更高版本。您應該使用非共享的 QoS 策略群組,並確保該策略群組單獨套用至每個成員。共享的 QoS 策略群組強制規定所有工作負載的總吞吐量上限。 |
“” |
|
若要為建立的磁碟區指派的自適應 QoS 策略群組。每個儲存池或後端選擇 qosPolicy 或 adaptiveQosPolicy 之一。 ontap-nas-economy 不支援此功能。 |
“” |
|
為快照“0”預留的磁碟區百分比 |
如果 |
|
創建時將克隆體從其母體中分離出來 |
|
|
在新磁碟區啟用NetApp磁碟區加密 (NVE);預設為 |
|
|
啟用LUKS加密。參考"使用 Linux 統一金鑰設定 (LUKS)"。僅限SAN。 |
“” |
|
分層策略的使用 |
|
|
新卷模式。 *SMB卷請留空。 * |
“” |
|
新磁碟區的安全樣式。 NFS 支持 `mixed`和 `unix`安全措施。中小企業支持 `mixed`和 `ntfs`安全措施。 |
NFS 預設值為 |
準備配置SMB卷
您可以使用以下方式設定 SMB 磁碟區: `ontap-nas`司機。在你完成之前ONTAP SAN 和 NAS 驅動程式集成請完成以下步驟。
在使用以下方式設定 SMB 磁碟區之前: `ontap-nas`駕駛員,您必須具備以下條件。
-
一個 Kubernetes 叢集,包含一個 Linux 控制器節點和至少一個執行 Windows Server 2019 的 Windows 工作節點。 Trident僅支援掛載到執行在 Windows 節點上的 pod 的 SMB 磁碟區。
-
至少有一個包含您的 Active Directory 憑證的Trident金鑰。生成秘密
smbcreds:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password' -
配置為 Windows 服務的 CSI 代理程式。要配置
csi-proxy,請參閱"GitHub:CSI代理"或者"GitHub:適用於 Windows 的 CSI 代理"適用於在 Windows 上執行的 Kubernetes 節點。
-
建立SMB共享。您可以透過以下兩種方式之一建立 SMB 管理共用:"Microsoft 管理控制台"共用資料夾管理單元或使用ONTAP CLI。使用ONTAP CLI 建立 SMB 共享:
-
如有必要,請建立共用的目錄路徑結構。
這 `vserver cifs share create`此指令檢查在建立共用時 -path 選項中指定的路徑。如果指定的路徑不存在,則命令執行失敗。
-
建立與指定 SVM 關聯的 SMB 共用:
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text] -
確認共享已建立:
vserver cifs share show -share-name share_name請參閱"建立 SMB 共享"了解詳細資訊。
-
-
建立後端時,必須配置以下內容以指定 SMB 磁碟區。有關所有 FSx for ONTAP後端設定選項,請參閱"FSx for ONTAP設定選項和範例"。
範圍 描述 例子 smbShare您可以指定以下名稱之一:使用 Microsoft 管理主控台或ONTAP CLI 所建立的 SMB 共用的名稱,或允許Trident建立 SMB 共用的名稱。此參數是Amazon FSx for ONTAP後端所必需的。
smb-sharenasType*必須設定為
smb.*如果為空,則預設為空。nfs。smbsecurityStyle新磁碟區的安全樣式。 *必須設定為 `ntfs`或者 `mixed`適用於 SMB 卷。 *
`ntfs`或者 `mixed`適用於 SMB 卷
unixPermissions新卷模式。 *對於 SMB 卷,此項必須留空。 *
“”