FlexVolume プラグインを使用して、Alibaba Cloud File Storage NAS にアクセスできます。本トピックでは、静的にプロビジョニングされた File Storage NAS ボリュームの使用方法について説明します。
前提条件
-
FlexVolume プラグインは最新バージョンに更新されています。詳細については、「FlexVolume コンポーネントをインストールおよびスペックアップする」をご参照ください。
-
kubectl を使用して ACK クラスターに接続しています。詳細については、「クラスターの kubeconfig ファイルを取得し、kubectl を使用してクラスターに接続する」をご参照ください。
背景情報
FlexVolume プラグインを使用すると、永続ボリューム (PV) および永続ボリューム要求 (PVC) を作成することで、Alibaba Cloud File Storage NAS を永続ボリュームとして利用できます。
注意事項
アプリケーションテンプレートで securityContext.fsgroup パラメーターを設定すると、ボリュームのマウント後に kubelet が chmod または chown 操作を実行します。これにより、マウント時間が大幅に長くなる可能性があります。
securityContext.fsgroup パラメーターを設定している場合にマウント時間を短縮するには、「File Storage NAS ボリュームのマウント時間の延長」をご参照ください。
操作手順
Pod は、PV および PVC を参照することで、静的にプロビジョニングされた File Storage NAS ボリュームを使用します。
-
PV を作成します。
YAML ファイルを使用するか、ACK コンソールで PV を作成できます。
-
YAML ファイルを使用して PV を作成します。
次の nas-pv.yaml ファイルを使用して PV を作成します。
apiVersion: v1 kind: PersistentVolume metadata: name: pv-nas spec: capacity: storage: 5Gi storageClassName: nas accessModes: - ReadWriteMany flexVolume: driver: "alicloud/nas" options: server: "0cd8b4a576-u****.cn-hangzhou.nas.aliyuncs.com" path: "/k8s" vers: "3" options: "nolock,tcp,noresvport" -
ACK コンソールで File Storage NAS の永続ボリュームを作成します。
-
ACK コンソール にログインします。左側のナビゲーションウィンドウで、クラスターリスト をクリックします。
クラスターリスト ページで、対象のクラスター名をクリックするか、アクション 列の 詳細 をクリックします。
-
クラスター管理ページの左側にあるナビゲーションウィンドウで、 を選択します。
-
永続ボリューム ページの右上隅で、作成する をクリックします。
-
[永続ボリュームの作成] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
ストレージタイプ
この例では、File Storage NAS を選択します。
ボリューム名:
クラスター内で一意となる永続ボリュームの名前を指定します。この例では、pv-nas を使用します。
ボリュームプラグイン
この例では、FlexVolume を選択します。
容量
永続ボリュームの容量を指定します。この値は、File Storage NAS ファイルシステムの合計容量を超えることはできません。
アクセスモード
デフォルト値は ReadWriteMany です。
マウントポイントドメイン名:
File Storage NAS ファイルシステムのマウントポイントドメイン名を指定します。詳細については、「マウントポイントの管理」をご参照ください。
パス:
永続ボリュームをマウントする File Storage NAS パスのサブディレクトリを指定します。パスはスラッシュ (/) で始まる必要があります。
-
ルートディレクトリ内にサブディレクトリが存在しない場合は、自動的に作成されてからマウントされます。
-
このパラメーターを空のままにすると、ルートディレクトリがマウントされます。
-
エクストリーム NAS の場合、パスは /share で始まる必要があります。
特権:
マウントディレクトリのアクセス権限を指定します (例:755、644、777)。
説明-
権限はサブディレクトリに対してのみ設定でき、ルートディレクトリには設定できません。
-
chmod コマンドの実行時間が長くなるのを避けるため、マウントディレクトリに多数のファイルが含まれる場合は、このパラメーターを設定しないでください。
File Storage NAS のサブディレクトリをマウントする場合、このパラメーターはオプションです。
-
このパラメーターを設定しない場合、File Storage NAS ファイルシステム内のファイルの元の権限が使用されます。
-
このパラメーターを設定する場合:
-
FlexVolume バージョン v1.14.6.15-8d3b7e7-aliyun より前のバージョンでは、マウントパス配下のすべてのファイルおよびディレクトリに再帰的に権限が適用されます。
-
FlexVolume バージョン v1.14.6.15-8d3b7e7-aliyun 以降では、権限は chmod (アクセス権の変更) 設定に基づいて適用されます。
-
chmod (アクセス権の変更)
権限変更の方法を指定します。非再帰的または再帰的を選択できます。
-
非再帰的:権限変更はマウントディレクトリにのみ適用され、その配下のサブディレクトリやファイルには適用されません。
-
再帰的:権限変更はマウントディレクトリ内のすべてのサブディレクトリおよびファイルに再帰的に適用されます。
説明マウントディレクトリに多数のファイルが含まれる場合、再帰モードを使用すると chmod コマンドの実行時間が長くなり、マウントまたはアンマウントが失敗する可能性があります。このオプションは慎重に使用してください。
[バージョン]
マウントされた File Storage NAS ボリュームの NFS プロトコルバージョンを指定します。V3 を推奨します。エクストリーム NAS は V3 のみをサポートします。
タグ
永続ボリュームに追加するラベルを指定します。
-
-
パラメーターを設定したら、作成する をクリックします。
-
-
-
PVC を作成します。
次の nas-pvc.yaml ファイルを使用して PVC を作成します。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nas spec: accessModes: - ReadWriteMany storageClassName: nas resources: requests: storage: 5Gi -
Pod を作成します。
次の nas-pod.yaml ファイルを使用して Pod を作成します。
apiVersion: apps/v1 kind: Deployment metadata: name: nas-static labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 volumeMounts: - name: pvc-nas mountPath: /data volumes: - name: pvc-nas persistentVolumeClaim: claimName: pvc-nas