NetApp ONTAP NFS構成
NFS 経由でTrident をNetApp ONTAPストレージ システムと統合できるようにするには、ストレージ システムとの通信を可能にするバックエンドを作成する必要があります。このソリューションでは基本的なバックエンドを構成していますが、よりカスタマイズされたオプションを探している場合は、ドキュメントを参照してください。"ここをクリックしてください。" 。
ONTAPでSVMを作成する
-
ONTAP System Manager にログインし、[ストレージ] > [ストレージ VM] に移動して、[追加] をクリックします。
-
SVM の名前を入力し、NFS プロトコルを有効にして、「NFS クライアント アクセスを許可する」チェックボックスをオンにし、ワークロード クラスターでボリュームを PV としてマウントできるようにするために、ワーカー ノードが存在するサブネットをエクスポート ポリシー ルールに追加します。
NSX-T を使用したユーザー クラスタまたはワークロード クラスタの NAT されたデプロイメントを使用している場合は、Egress サブネット (TKGS0 の場合) または Floating IP サブネット (TKGI の場合) をエクスポート ポリシー ルールに追加する必要があります。 -
データ LIF の詳細と SVM 管理アカウントの詳細を入力し、[保存] をクリックします。
-
集計を SVM に割り当てます。 [ストレージ] > [ストレージ VM] に移動し、新しく作成された 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