NetApp ONTAP NFS 配置
要透過 NFS 實現Trident與NetApp ONTAP儲存系統的集成,您必須建立一個能夠與儲存系統通訊的後端。我們在此解決方案中配置了一個基本的後端,但如果您正在尋找更多自訂選項,請存取文檔"這裡"。
在ONTAP中建立 SVM
-
登入ONTAP系統管理器,導覽至“儲存”>“儲存虛擬機”,然後按一下“新增”。
-
輸入 SVM 的名稱,啟用 NFS 協議,選取允許 NFS 用戶端存取複選框,並在匯出策略規則中新增工作節點所在的子網,以允許將磁碟區作為 PV 掛載到工作負載叢集中。
如果您使用 NSX-T 的 NAT 部署使用者集群或工作負載集群,則需要將出口子網路(對於 TKGS0 而言)或浮動 IP 子網路(對於 TKGI 而言)新增至匯出策略規則。 -
提供資料 LIF 的詳細資訊和 SVM 管理帳戶的詳細信息,然後按一下「儲存」。
-
將聚合分配給 SVM。導覽至“儲存”>“儲存虛擬機器”,按一下新建立的 SVM 旁的省略號,然後按一下“編輯”。勾選「限製磁碟區建立到首選本機圖層」複選框並將所需的聚合附加到該複選框。
-
如果要安裝Trident的使用者或工作負載叢集採用 NAT 部署,則由於 SNAT,儲存掛載請求可能會從非標準連接埠到達。預設情況下, ONTAP僅允許來自根連接埠的磁碟區掛載請求。因此,登入ONTAP CLI 並修改設定以允許來自非標準連接埠的掛載請求。
ontap-01> vserver nfs modify -vserver tanzu_svm -mount-rootonly disabled
建立後端和儲存類
-
對於提供 NFS 服務的NetApp ONTAP系統,請在跳轉主機上建立後端設定文件,其中包含 backendName、managementLIF、dataLIF、svm、使用者名稱、密碼和其他詳細資訊。
{ "version": 1, "storageDriverName": "ontap-nas", "backendName": "ontap-nas+10.61.181.221", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.221", "svm": "trident_svm", "username": "admin", "password": "password" }
最佳做法是將自訂 backendName 值定義為 storageDriverName 和為 NFS 提供服務的 dataLIF 的組合,以便於識別。 -
透過執行以下指令來建立Trident後端。
[netapp-user@rhel7]$ ./tridentctl -n trident create backend -f backend-ontap-nas.json +-------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +-------------------------+----------------+--------------------------------------+--------+---------+ | ontap-nas+10.61.181.221 | ontap-nas | be7a619d-c81d-445c-b80c-5c87a73c5b1e | online | 0 | +-------------------------+----------------+--------------------------------------+--------+---------+
-
建立後端後,接下來必須建立儲存類別。以下範例儲存類別定義突顯了必要欄位和基本欄位。參數 `backendType`應該反映新建立的Trident後端的儲存驅動程式。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-nfs provisioner: csi.trident.netapp.io parameters: backendType: "ontap-nas"
-
透過執行 kubectl 命令建立儲存類別。
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-nfs.yaml storageclass.storage.k8s.io/ontap-nfs created
-
建立儲存類別後,您必須建立第一個持久化磁碟區宣告 (PVC)。下面給出了一個 PVC 定義範例。確保 `storageClassName`欄位與剛剛建立的儲存類別的名稱相符。 PVC 定義可根據需要配置的工作負載進一步客製化。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-nfs
-
透過發出 kubectl 指令來建立 PVC。創建可能需要一些時間,具體取決於所創建的備份卷的大小,因此您可以在創建完成時觀察該過程。
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-b4370d37-0fa4-4c17-bd86-94f96c94b42d 1Gi RWO ontap-nfs 7s