翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SMB CSI ドライバーの使用
このセクションの手順に従って、Kubernetes クラスターのストレージに Amazon S3 File Gateway で SMB ファイル共有を使用するために必要な CSI ドライバーをインストール、設定、または削除します。詳細については、 の GitHub にあるオープンソースの SMB CSI ドライバードキュメントを参照してくださいhttps://github.com/kubernetes-csi/csi-driver-smb/blob/master/docs/install-csi-driver-master.md
注記
PersistentVolume
オブジェクトまたはStorageClass
オブジェクトを作成するときに、ReclaimPolicy
パラメータを指定して、オブジェクトが削除されたときに外部ストレージがどうなるかを決定できます。SMB CSI ドライバーは Retain
および Recycle
オプションをサポートしていますが、現在 Delete
オプションをサポートしていません。
ドライバーをインストールする
Kubernetes SMB CSI ドライバーをインストールするには:
-
Kubernetes クラスター
kubectl
の にアクセスできるコマンドラインターミナルから、次のコマンドを実行します。curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/install-driver.sh | bash -s master --
-
前のコマンドが終了するのを待ってから、次のコマンドを使用して CSI ドライバーポッドが実行されていることを確認します。
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-controller
kubectl -n kube-system get pod -o wide --watch -l app=csi-smb-node
出力は次の例に類似したものになります:
NAME READY STATUS RESTARTS AGE IP NODE csi-smb-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 csi-smb-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-smb-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 csi-smb-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0
SMB StorageClass オブジェクトを作成する
Kubernetes クラスターの新しい SMB StorageClass オブジェクトを作成するには:
-
次の例のような内容
storageclass.yaml
で という名前の設定ファイルを作成します。表示されるExampleValues
を独自のデプロイ固有の情報に置き換えます。--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name:
ExampleStorageClassName
provisioner: smb.csi.k8s.io parameters: source: "//gateway-dns-name-or-ip-address/example-share-name
" # if csi.storage.k8s.io/provisioner-secret is provided, will create a sub directory # with PV name under source csi.storage.k8s.io/provisioner-secret-name: "examplesmbcreds
" csi.storage.k8s.io/provisioner-secret-namespace: "examplenamespace
" csi.storage.k8s.io/node-stage-secret-name: "examplesmbcreds
" csi.storage.k8s.io/node-stage-secret-namespace: "examplenamespace
" volumeBindingMode: Immediate reclaimPolicy: Retain mountOptions: - dir_mode=0777 - file_mode=0777 - uid=1001 - gid=1001 -
kubectl
および にアクセスできるコマンドラインターミナルからstorageclass.yaml
、次のコマンドを実行します。kubectl apply -f storageclass.yaml
注記
前のステップ
.yaml
の設定テキストをほとんどのサードパーティーの Kubernetes 管理およびコンテナ化プラットフォームに提供することで、StorageClass を作成することもできます。 -
作成した新しい StorageClass を使用するように Kubernetes クラスターのポッドを設定します。詳細については、 の Kubernetes オンラインドキュメントを参照してくださいhttps://kubernetes.io/docs/concepts/storage/
。
SMB PersistentVolume オブジェクトと PersistentVolumeClaim オブジェクトを作成する
新しい SMB PersistentVolume オブジェクトと PersistentVolumeClaim オブジェクトを作成するには:
-
2 つの設定ファイルを作成します。1 つは という名前
persistentvolume.yaml
、もう 1 つは という名前ですpersistentvolumeclaim.yaml
。 -
には
persistentvolume.yaml
、次の例のようなコンテンツを追加します。表示されるExampleValues
の独自のデプロイ固有の情報を置き換えます。--- apiVersion: v1 kind: PersistentVolume metadata: name:
pv-smb-example-name
namespace:smb-example-namespace
# PersistentVolume and PersistentVolumeClaim must use the same namespace parameter spec: capacity: storage: 100Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain mountOptions: - dir_mode=0777 - file_mode=0777 - vers=3.0 csi: driver: smb.csi.k8s.io readOnly: false volumeHandle:examplehandle
# make sure it's a unique id in the cluster volumeAttributes: source: "//gateway-dns-name-or-ip-address/example-share-name
" nodeStageSecretRef: name:example-smbcreds
namespace:smb-example-namespace
-
には
persistentvolumeclaim.yaml
、次の例のようなコンテンツを追加します。表示されるExampleValues
の独自のデプロイ固有の情報を置き換えます。--- kind: PersistentVolumeClaim apiVersion: v1 metadata: name:
examplename-pvc-smb-static
namespace:smb-example-namespace
# PersistentVolume and PersistentVolumeClaim must use the same namespace parameter spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi volumeName:pv-smb-example-name
# make sure specfied volumeName matches the name of the PersistentVolume you created storageClassName: "" -
kubectl
および作成した両方の.yaml
ファイルにアクセスできるコマンドラインターミナルから、次のコマンドを実行します。kubectl apply -f persistentvolume.yaml
kubectl apply -f persistentvolumeclaim.yaml
注記
前のステップ
.yaml
の設定テキストをほとんどのサードパーティーの Kubernetes 管理およびコンテナ化プラットフォームに提供することで、PersistentVolume オブジェクトと PersistentVolumeClaim オブジェクトを作成することもできます。 -
作成した新しい PersistentVolumeClaim を使用するように Kubernetes クラスターのポッドを設定します。詳細については、 の Kubernetes オンラインドキュメントを参照してくださいhttps://kubernetes.io/docs/concepts/storage/
。
ドライバーのアンインストール
Kubernetes SMB CSI ドライバーをアンインストールするには:
-
Kubernetes クラスター
kubectl
の にアクセスできるコマンドラインターミナルから、次のコマンドを実行します。curl -skSL https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/deploy/uninstall-driver.sh | bash -s --