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

NetApp ONTAP NFS 配置

貢獻者 kevin-hoke

要透過 NFS 實現Trident與NetApp ONTAP儲存系統的集成,您必須建立一個能夠與儲存系統通訊的後端。我們在此解決方案中配置了一個基本的後端,但如果您正在尋找更多自訂選項,請存取文檔"這裡"

在ONTAP中建立 SVM

  1. 登入ONTAP系統管理器,導覽至“儲存”>“儲存虛擬機”,然後按一下“新增”。

  2. 輸入 SVM 的名稱,啟用 NFS 協議,選取允許 NFS 用戶端存取複選框,並在匯出策略規則中新增工作節點所在的子網,以允許將磁碟區作為 PV 掛載到工作負載叢集中。

    使用 NFS 建立 SVM

    註 如果您使用 NSX-T 的 NAT 部署使用者集群或工作負載集群,則需要將出口子網路(對於 TKGS0 而言)或浮動 IP 子網路(對於 TKGI 而言)新增至匯出策略規則。
  3. 提供資料 LIF 的詳細資訊和 SVM 管理帳戶的詳細信息,然後按一下「儲存」。

    SVM 資料 LIF 與 SVM 管理

  4. 將聚合分配給 SVM。導覽至“儲存”>“儲存虛擬機器”,按一下新建立的 SVM 旁的省略號,然後按一下“編輯”。勾選「限製磁碟區建立到首選本機圖層」複選框並將所需的聚合附加到該複選框。

    SVM聚合分配

  5. 如果要安裝Trident的使用者或工作負載叢集採用 NAT 部署,則由於 SNAT,儲存掛載請求可能會從非標準連接埠到達。預設情況下, ONTAP僅允許來自根連接埠的磁碟區掛載請求。因此,登入ONTAP CLI 並修改設定以允許來自非標準連接埠的掛載請求。

    ontap-01> vserver nfs modify -vserver tanzu_svm -mount-rootonly disabled

建立後端和儲存類

  1. 對於提供 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 的組合,以便於識別。
  2. 透過執行以下指令來建立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 |
    +-------------------------+----------------+--------------------------------------+--------+---------+
  3. 建立後端後,接下來必須建立儲存類別。以下範例儲存類別定義突顯了必要欄位和基本欄位。參數 `backendType`應該反映新建立的Trident後端的儲存驅動程式。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: ontap-nfs
    provisioner: csi.trident.netapp.io
    parameters:
      backendType: "ontap-nas"
  4. 透過執行 kubectl 命令建立儲存類別。

    [netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-nfs.yaml
    storageclass.storage.k8s.io/ontap-nfs created
  5. 建立儲存類別後,您必須建立第一個持久化磁碟區宣告 (PVC)。下面給出了一個 PVC 定義範例。確保 `storageClassName`欄位與剛剛建立的儲存類別的名稱相符。 PVC 定義可根據需要配置的工作負載進一步客製化。

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: basic
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 1Gi
      storageClassName: ontap-nfs
  6. 透過發出 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