NFS CSI ドライバーの使用 - AWS Storage Gateway

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

NFS CSI ドライバーの使用

このセクションの手順に従って、Kubernetes クラスターのストレージに Amazon S3 File Gateway で NFS ファイル共有を使用するために必要な CSI ドライバーをインストール、設定、または削除します。詳細については、 の GitHub にあるオープンソースの NFS CSI ドライバードキュメントを参照してくださいhttps://github.com/kubernetes-csi/csi-driver-nfs/blob/master/docs/install-csi-driver-master.md

ドライバーをインストールする

Kubernetes NFS CSI ドライバーをインストールするには:
  1. Kubernetes クラスターkubectlの にアクセスできるコマンドラインターミナルから、次のコマンドを実行します。

    curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/install-driver.sh | bash -s master --

  2. 前のコマンドが終了するのを待ってから、次のコマンドを使用して CSI ドライバーポッドが実行されていることを確認します。

    kubectl -n kube-system get pod -o wide -l app=csi-nfs-controller

    kubectl -n kube-system get pod -o wide -l app=csi-nfs-node

    出力は次の例に類似したものになります:

    NAME READY STATUS RESTARTS AGE IP NODE csi-nfs-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-nfs-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-nfs-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0

NFS StorageClass オブジェクトを作成する

Kubernetes クラスターの NFS StorageClass オブジェクトを作成するには:
  1. 次の例のような内容storageclass.yamlで という名前の設定ファイルを作成します。表示される ExampleValues の独自のデプロイ固有の情報を置き換えます。

    --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: example-nfs-classname namespace: example-namespace provisioner: nfs.csi.k8s.io parameters: server: gateway-dns-name-or-ip-address share: /example-share-name reclaimPolicy: Retain volumeBindingMode: Immediate mountOptions: - hard - nfsvers=4.1
  2. kubectl および にアクセスできるコマンドラインターミナルからstorageclass.yaml、次のコマンドを実行します。

    kubectl apply -f storageclass.yaml

    注記

    前のステップ.yamlの設定テキストをほとんどのサードパーティーの Kubernetes 管理およびコンテナ化プラットフォームに提供することで、StorageClass を作成することもできます。

  3. 作成した新しい StorageClass オブジェクトを使用するように Kubernetes クラスターのポッドを設定します。詳細については、 の Kubernetes オンラインドキュメントを参照してくださいhttps://kubernetes.io/docs/concepts/storage/

NFS PersistentVolume オブジェクトと PersistentVolumeClaim オブジェクトを作成する

新しい NFS PersistentVolume オブジェクトと PersistentVolumeClaim オブジェクトを作成するには:
  1. persistentvolume.yaml および という名前の 2 つの設定ファイルを作成しますpersistentvolumeclaim.yaml

  2. にはpersistentvolume.yaml、次の例のようなコンテンツを追加します。表示される ExampleValues の独自のデプロイ固有の情報を置き換えます。

    --- apiVersion: v1 kind: PersistentVolume metadata: name: pv-nfs-examplename spec: capacity: storage: 10Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - hard - nolock - nfsvers=4.1 csi: driver: nfs.csi.k8s.io readOnly: false volumeHandle: unique-volumeid-example # make sure it's a unique id in the cluster volumeAttributes: server: gateway-dns-name-or-ip-address share: /example-share-name
  3. にはpersistentvolumeclaim.yaml、次の例のようなコンテンツを追加します。表示される ExampleValues の独自のデプロイ固有の情報を置き換えます。

    --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: examplename-pvc-nfs-static spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName: pv-nfs-examplename # make sure specfied volumeName matches the name of the PersistentVolume you created storageClassName: ""
  4. kubectl および両方の.yamlファイルにアクセスできるコマンドラインターミナルから、次のコマンドを実行します。

    kubectl apply -f persistentvolume.yaml

    kubectl apply -f persistentvolumeclaim.yaml

    注記

    前のステップ.yamlの設定テキストをほとんどのサードパーティーの Kubernetes 管理およびコンテナ化プラットフォームに提供することで、PersistentVolume オブジェクトと PersistentVolumeClaim オブジェクトを作成することもできます。

  5. 作成した新しい PersistentVolumeClaim オブジェクトを使用するように Kubernetes クラスターのポッドを設定します。詳細については、 の Kubernetes オンラインドキュメントを参照してくださいhttps://kubernetes.io/docs/concepts/storage/

ドライバーのアンインストール

Kubernetes NFS CSI ドライバーをアンインストールするには:
  • Kubernetes クラスターkubectlの にアクセスできるコマンドラインターミナルから、次のコマンドを実行します。

    curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-nfs/master/deploy/uninstall-driver.sh | bash -s master --