ここでは、NAS ファイルシステムにサブディレクトリを作成し、このサブディレクトリを使用して動的 PV を作成します。
始める前に
flexvolume ドライバーが既にクラスターにインストールされていること。
alicloud-nas-controller がインストールされていること。 詳細については、「プラグインのインストール」をご参照ください。
動的 PV の作成
- StorageClass を作成します。
サンプル設定は次のとおりです。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alicloud-nas
mountOptions:
- nolock,tcp,noresvport
- vers=3
parameters:
server: "23a9649583-iaq37.cn-shenzhen.nas.aliyuncs.com:/nasroot1/"
driver: flexvolume
provisioner: alicloud/nas
reclaimPolicy: Delete
注
- MountOptions: PV のマウントパラメーター。
- server: NAS ボリュームのマウントポイント。 形式は nfsurl1:/path1,nfsurl2:/path2 です。 複数のサーバーが設定されている場合、この StorageClass を介して作成された PV は、上記のサーバーをラウンドロビン方式で使用します。 NAS
extreme の場合、パスは /share で始まる必要があります。
- driver: flexvolume および NFS をサポートします。 デフォルトは NFS です。
- reclaimPolicy: PVの再要求ポリシー。 Retain の使用を推奨します。
- このパラメーターを Delete に設定した場合、PV を削除すると、PV に直接対応する NAS ディレクトリの名前が自動的に変更されます。 例えば、path-name は archived-path-name に変更されます。
- PV に対応する NAS ディレクトリを削除する必要がある場合は、StorageClass 設定で
archiveOnDelete
を false に設定します。
- 動的 PV を使用します。
apiVersion: v1
kind: Service
metadata:
name: nginx
labels:
app: nginx
spec:
ports:
- port: 80
name: web
clusterIP: None
selector:
app: nginx
---
apiVersion: apps/v1beta1
kind: StatefulSet
metadata:
name: web
spec:
serviceName: "nginx"
replicas: 5
volumeClaimTemplates:
- metadata:
name: html
spec:
accessModes:
- ReadWriteOnce
storageClassName: alicloud-nas
resources:
requests:
storage: 2Gi
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:alpine
volumeMounts:
mountPath: "/data"
name: html