Container Network File System (CNFS) は、Alibaba Cloud ファイルストレージを Kubernetes オブジェクト (CRD) に抽象化して、独立した管理を実現します。これには、ファイルシステムの作成、削除、マウント、モニタリング、スケールアウトなどの操作が含まれます。CNFS を使用して NAS ファイルシステムを個別に管理し、パフォーマンスとサービス品質 (QoS) を向上させることができます。このトピックでは、CNFS を使用して NAS ファイルシステムを管理し、ワークロードに適用する方法について説明します。
前提条件
File Storage NAS が有効化されていること。
初めてFile Storage NAS 製品ページにログインする際に、プロンプトに従ってサービスを有効化します。
ACK Pro マネージドクラスターが作成されていること。クラスターのバージョンは 1.20 以降である必要があります。kubectl を使用して CNFS を管理する場合、クラスターバージョン 1.20 がサポートされます。詳細については、「ACK マネージドクラスターの作成」をご参照ください。
ストレージ関連コンポーネント csi-plugin、csi-provisioner、storage-operator のバージョンが次の要件を満たしていること:
csi-plugin および csi-provisioner コンポーネントのバージョンが v1.20.5-ff6490f-aliyun 以降であること。
storage-operator コンポーネントのバージョンが v1.18.8.56-2aa33ba-aliyun 以降であること。コンソールを使用して CNFS を管理する場合、バージョンは v1.26.2-1de13b6-aliyun 以降である必要があります。
容量型 NAS およびパフォーマンス型 NAS ファイルシステムがサポートされています。アドバンストおよび超高速型 NAS ファイルシステムはサポートされていません。KMS を使用して NAS ファイルシステムを暗号化する場合は、まず KMS サービスを有効化する必要があります。詳細については、「Key Management Service の有効化」をご参照ください。
機能紹介
CNFS を使用して NAS ファイルシステムを管理するには、次のいずれかの方法を使用できます:
方法 1: CNFS を使用してデフォルトの NAS ファイルシステムを作成する
CNFS を使用してデフォルトの NAS ファイルシステムを作成し、ボリュームを使用してワークロードに動的にマウントします。
方法 2: CNFS を使用してカスタム NAS ファイルシステムを作成する
CNFS を使用してカスタム NAS ファイルシステムを作成し、静的または動的ボリュームを使用してワークロードにマウントします。
方法 3: CNFS を使用して既存の NAS ファイルシステムを構成する
CNFS を使用して既存の NAS ファイルシステムを構成し、静的または動的ボリュームを使用してワークロードにマウントします。
方法 1: CNFS を使用してデフォルトの NAS ファイルシステムを作成する
現在のクラスターが配置されている VPC に基づいて、容量型 NAS またはパフォーマンス型 NAS ファイルシステムが作成されます。超高速型 NAS ファイルシステムはサポートされていません。現在のリージョンが容量型 NAS ファイルシステムをサポートしていない場合、パフォーマンス型 NAS ファイルシステムが作成されます。デフォルトでは、ファイルは暗号化されません。
kubectl
次の YAML ファイルを使用して、デフォルトの CNFS ファイルシステムを作成します。ファイルシステムは自動的に NAS ファイルシステムにマウントされ、Deployment および StatefulSet にアタッチされます。
パラメーター | 説明 |
description | ファイルシステムの説明。 |
type | 作成するボリュームのタイプ。 |
reclaimPolicy | リクレイポリシー。Retain ポリシーのみがサポートされています。CNFS を削除しても、NAS ファイルシステムは削除されません。 |
parameters.encryptType | オプション。暗号化方式。
|
parameters.enableTrashCan | ゴミ箱機能を有効にするかどうかを指定します。
|
コンソール
CNFS を作成します。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[Container Network File System (CNFS)] ページで、[Container Network File System の作成] をクリックします。
[Container Network File System の作成] パネルで、CNFS の名前を入力し、ファイルシステムとして NAS を選択し、[デフォルト NAS の作成] を選択して、[OK] をクリックします。
説明必要に応じて [エンドツーエンドアクセラレーション] を有効にできます。この機能は、マウントにエラスティックアクセラレーションを使用します。詳細については、「CNFS NAS クライアントの分散キャッシュ機能を有効にする」をご参照ください。
コンテナーネットワークファイルシステムを一覧表示するページで、ターゲットファイルシステムをクリックして詳細を表示します。次に、NAS ID をクリックして NAS ファイルシステムの詳細ページに移動します。
[ファイルシステムの詳細] ページで、マウント使用 をクリックします。[マウントポイント] リストで、[マウントポイントアドレス] 列の [
アイコン] にポインターを合わせて、マウントポイントアドレスを表示します。
動的 StorageClass を作成します。
クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のペインで、 を選択します。
[ストレージクラス] ページで、右上隅にある [作成] をクリックします。
[作成] パネルで、StorageClass パラメーターを設定し、[作成] をクリックします。
設定項目
説明
例
名前
StorageClass の名前。フォーマット要件については、ページ上のプロンプトを参照してください。
alibabacloud-cnfs-nas
ボリュームタイプ
[NAS] を選択します。
NAS
マウントターゲットの選択
ステップ 1 で CNFS を使用して作成されたデフォルトの NAS ファイルシステムのマウントターゲットアドレス。マウントターゲットアドレスの表示方法の詳細については、「マウントターゲットの管理」をご参照ください。
64888******-e*****.cn-qingdao.nas.aliyuncs.com
リクレイムポリシー
リクレイポリシー。Retain ポリシーのみがサポートされています。CNFS を削除しても、NAS ファイルシステムは削除されません。
Retain
マウントオプション
NFS プロトコルバージョンなど、NAS ファイルシステムをマウントするためのオプションのパラメーター。
NFS v3 の使用を推奨します。超高速型 NAS ファイルシステムは NFS v3 のみをサポートします。NFS プロトコルの詳細については、「NFS プロトコル」をご参照ください。
nolock,tcp,noresvport
vers=3
マウントパス
NAS ファイルシステム内のマウントパス。
/
PVC を作成します。
詳細ページの左側のナビゲーションペインで、 を選択します。
[Persistent Volume Claim] ページで、右上隅にある [作成] をクリックします。
[Persistent Volume Claim の作成] パネルで、パラメーターを設定し、[作成] をクリックします。
パラメーター
説明
例
ストレージ要求タイプ
NAS を選択します。
NAS
名前
作成する PVC の名前。名前はクラスター内で一意である必要があります。
cnfs-nas-pvc
割り当てモード
ボリュームの使用方法。
動的プロビジョニングに StorageClass を使用
既存のストレージクラス
[ストレージクラスの選択] をクリックし、ターゲットの StorageClass を見つけ、[アクション] 列の [選択] をクリックして、StorageClass を選択します。
alibabacloud-cnfs-nas
合計容量
作成するボリュームの容量。
説明作成する PVC の容量は、マウントするボリュームの容量を超えることはできません。
70 Gi
アクセスモード
デフォルト値は ReadWriteMany です。ReadWriteOnce または ReadOnlyMany を選択することもできます。
ReadWriteMany
PVC をターゲットアプリケーションにマウントします。
Deployment や StatefulSet などのワークロードを作成するときに、[コンテナ設定] ページの [ボリューム] セクションでコンテナにマウントする PVC を指定できます。パラメーターの詳細については、「Deployment の作成」および「StatefulSet の作成」をご参照ください。
次の例は、CNFS を使用して作成された NAS ファイルシステムをコンテナ内の /data パスにマウントする方法を示しています。

方法 2: CNFS を使用してカスタム NAS ファイルシステムを作成する
kubectl
カスタム NAS ファイルシステムを作成します。
カスタム NAS ファイルシステムを作成します。
cat <<EOF | kubectl apply -f - apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain parameters: filesystemType: standard storageType: Capacity protocolType: NFS encryptType: SSE-KMS enableTrashCan: "true" trashCanReservedDays: "5" vSwitchId: vsw-2ze9l3ppwzg6bl02j**** EOFパラメーター
説明
description
ファイルシステムの説明。
type
作成するボリュームのタイプ。
reclaimPolicy
リクレイポリシー。Retain ポリシーのみがサポートされています。CNFS を削除しても、NAS ファイルシステムは削除されません。
parameters.filesystemType
ファイルシステムのタイプ。デフォルト値: standard。
parameters.storageType
ストレージタイプ。filesystemType を standard に設定した場合、Performance または Capacity NAS ファイルシステムを選択できます。
parameters.protocolType
ファイル転送プロトコルは NFS です。NFS v3 のみがサポートされています。
parameters.encryptType
オプション。暗号化方式。
None: 暗号化なし。
SSE-KMS: NAS サーバーで KMS 暗号化を使用します。
parameters.enableTrashCan
ゴミ箱機能を有効にするかどうかを指定します。
true: 機能を有効にします。
false: 機能を有効にしません。
parameters.trashCanReservedDays
ゴミ箱内のファイルの最大保持期間。デフォルト値は 7 日です。この例では、
trashCanReservedDays: 5は、ゴミ箱内のファイルが最大 5 日間保持されることを示します。parameters.vSwitchId
作成された NAS ファイルシステムが使用する vSwitch の ID。
作成した NAS ファイルシステムを表示します。
kubectl get cnfs期待される出力:
NAME AGE cnfs-nas-filesystem 6dNAS ファイルシステムの詳細を表示します。
kubectl get cnfs/cnfs-nas-filesystem -o yaml期待される出力:
静的 PV または動的 StorageClass を作成して NAS ファイルシステムをバインドします。
静的 PV を作成します。
次の内容を使用して、NAS ファイルシステムを参照する PV オブジェクトを作成します。
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolume metadata: name: cnfs-nas-pv labels: alicloud-pvname: cnfs-nas-pv spec: capacity: storage: 5Gi accessModes: - ReadWriteMany csi: driver: nasplugin.csi.alibabacloud.com volumeHandle: cnfs-nas-pv # PV の名前と同じである必要があります。 volumeAttributes: containerNetworkFileSystem: cnfs-nas-filesystem path: "/" mountOptions: - nolock,tcp,noresvport - vers=3 EOFパラメーター
説明
containerNetworkFileSystem
使用する CNFS の名前。
path
CNFS 内でマウントされたボリュームが使用するパス。
PV が作成されたかどうかを確認します。
kubectl get pv期待される出力:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE cnfs-nas-pv 5Gi RWX Retain Available 4s
動的 StorageClass を作成します。
次の内容を使用して、NAS ファイルシステムを参照する StorageClass オブジェクトを作成します。
cat <<EOF | kubectl apply -f - apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alibabacloud-nas-cnfs mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath containerNetworkFileSystem: nas-load-mount-target path: "/" provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Retain allowVolumeExpansion: true EOF説明allowVolumeExpansion: 有効な値は true と false です。このパラメーターは、クォータとスケールアウト機能を有効にするかどうかを指定します。
PVC を作成します。
次の内容を使用して、NAS ファイルシステムを参照する PVC を作成します。
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cnfs-nas-pvc spec: accessModes: - ReadWriteMany storageClassName: alibabacloud-nas-cnfs resources: requests: storage: 70Gi EOF
アプリケーションを作成します。
次の内容を使用して、PVC を参照するアプリケーションを作成します。
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: cnfs-nas-deployment labels: app: nginx spec: selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6 ports: - containerPort: 80 volumeMounts: - name: cnfs-nas-pvc mountPath: "/data" volumes: - name: cnfs-nas-pvc persistentVolumeClaim: claimName: cnfs-nas-pvc EOF作成したアプリケーションのステータスを表示します。
kubectl get pod期待される出力:
NAME READY STATUS RESTARTS AGE cnfs-nas-deployment-86959b**** 1/1 Running 0 2s出力は、Deployment が Running 状態であることを示しています。これは、CNFS が Deployment で正常に使用されていることを示します。
コンソール
CNFS を作成します。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[Container Network File System (CNFS)] ページで、[Container Network File System の作成] をクリックします。
[Container Network File System の作成] ダイアログボックスで、パラメーターを設定し、[OK] をクリックします。
CNFS の名前を入力し、ファイルシステムを NAS に設定し、[既存の NAS を選択] を選択し、右側の [NAS の作成] をクリックしてカスタム NAS ファイルシステムを作成します。詳細については、「コンソールで汎用型 NAS ファイルシステムを作成する」をご参照ください。
説明必要に応じて [エンドツーエンドアクセラレーション] を有効にできます。この機能は、マウントにエラスティックアクセラレーションを使用します。詳細については、「CNFS NAS クライアントの分散キャッシュ機能を有効にする」をご参照ください。
静的 PV または動的 StorageClass を作成して NAS ファイルシステムをバインドします。
静的 PV を作成します。
クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[Persistent Volume] ページで、[作成] をクリックします。
[Persistent Volume の作成] パネルで、パラメーターを設定し、[作成] ボタンをクリックします。
設定項目
説明
例
ボリュームタイプ
NAS を選択します。
NAS
名前
作成するボリュームの名前。ボリューム名はクラスター内で一意である必要があります。
cnfs-nas-pv
合計容量
作成するボリュームの容量。NAS ファイルシステムは使用量を制限しないことに注意してください。このパラメーターは NAS ファイルシステムの使用クォータではなく、作成されたボリュームの容量宣言にすぎません。
5 Gi
アクセスモード
ReadWriteMany と ReadWriteOnce がサポートされています。デフォルト値は ReadWriteMany です。
ReadWriteMany
CNFS の使用
CNFS 機能を使用するかどうかを指定します。
有効化
CNFS の選択
CNFS 機能を有効にした後、ステップ 1 で作成した CNFS を選択します。
cnfs-nas-filesystem
詳細設定 (オプション)
このセクションを展開すると、次のパラメーターを設定できます:
マウントパス: NAS ファイルシステム内のマウントパス。ルートディレクトリは / です。このパラメーターを設定すると、ボリュームは指定されたサブディレクトリにマウントされます。
サブディレクトリが NAS ファイルシステムのルートディレクトリに存在しない場合、サブディレクトリはデフォルトで作成されてからマウントされます。
このパラメーターは空のままにすることができます。デフォルトでは、ボリュームは NAS ファイルシステムのルートディレクトリにマウントされます。
リクレイムポリシー: リクレイムポリシー。CNFS は [Retain] ポリシーのみをサポートします。
CNFS アクセラレーションの有効化: CNFS 機能を有効にした後、CNFS アクセラレーション機能を有効にするかどうかを指定できます。CNFS アクセラレーションの詳細については、「CNFS NAS クライアントの分散キャッシュ機能を有効にする」をご参照ください。
/
Retain
CNFS アクセラレーションの有効化
ラベル
ボリュームにラベルを追加します。
cnfs-nas-pv
動的 StorageClass を作成します。
クラスター ページで、目的のクラスターを見つけてその名前をクリックします。左側のペインで、 を選択します。
[ストレージクラス] ページで、右上隅にある [作成] をクリックします。
[作成] パネルで、StorageClass パラメーターを設定し、[作成] をクリックします。
設定項目
説明
例
名前
StorageClass の名前。フォーマット要件については、ページ上のプロンプトを参照してください。
alibabacloud-cnfs-nas
ボリュームタイプ
[NAS] を選択します。
NAS
マウントターゲットの選択
ステップ 1 で CNFS を使用して作成されたデフォルトの NAS ファイルシステムのマウントターゲットアドレス。マウントターゲットアドレスの表示方法の詳細については、「マウントターゲットの管理」をご参照ください。
64888******-e*****.cn-qingdao.nas.aliyuncs.com
リクレイムポリシー
リクレイポリシー。Retain ポリシーのみがサポートされています。CNFS を削除しても、NAS ファイルシステムは削除されません。
Retain
マウントオプション
NFS プロトコルバージョンなど、NAS ファイルシステムをマウントするためのオプションのパラメーター。
NFS v3 の使用を推奨します。超高速型 NAS ファイルシステムは NFS v3 のみをサポートします。NFS プロトコルの詳細については、「NFS プロトコル」をご参照ください。
nolock,tcp,noresvport
vers=3
マウントパス
NAS ファイルシステム内のマウントパス。
/
PVC を作成します。
詳細ページの左側のナビゲーションペインで、 を選択します。
[Persistent Volume Claim] ページで、右上隅にある [作成] をクリックします。
[Persistent Volume Claim の作成] パネルで、パラメーターを設定し、[作成] をクリックします。
パラメーター
説明
例
ストレージ要求タイプ
NAS を選択します。
NAS
名前
作成する PVC の名前。名前はクラスター内で一意である必要があります。
cnfs-nas-pvc
割り当てモード
ボリュームの使用方法。
動的プロビジョニングに StorageClass を使用
既存のストレージクラス
[ストレージクラスの選択] をクリックし、ターゲットの StorageClass を見つけ、[アクション] 列の [選択] をクリックして、StorageClass を選択します。
alibabacloud-cnfs-nas
合計容量
作成するボリュームの容量。
説明作成する PVC の容量は、マウントするボリュームの容量を超えることはできません。
70 Gi
アクセスモード
デフォルト値は ReadWriteMany です。ReadWriteOnce または ReadOnlyMany を選択することもできます。
ReadWriteMany
PVC をターゲットアプリケーションにマウントします。
Deployment や StatefulSet などのワークロードを作成するときに、[コンテナ設定] ページの [ボリューム] セクションでコンテナにマウントする PVC を指定できます。パラメーターの詳細については、「Deployment の作成」および「StatefulSet の作成」をご参照ください。
次の例は、CNFS を使用して作成された NAS ファイルシステムをコンテナ内の /data パスにマウントする方法を示しています。

方法 3: CNFS を使用して既存の NAS ファイルシステムを構成する
kubectl
既存の NAS ファイルシステムを使用する CNFS を作成します。
次の内容を使用して、既存の NAS ファイルシステムを使用する CNFS を作成します。
# NAS ファイルシステムが存在する場合、作成済みの NAS ファイルシステムをロードします。 cat <<EOF | kubectl apply -f - apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain parameters: server: 17f7e4****-h****.cn-beijing.nas.aliyuncs.com EOFパラメーター
説明
description
ファイルシステムの簡単な説明。
type
作成するストレージのタイプ。
reclaimPolicy
リクレイムポリシー。CNFS は Retain ポリシーのみをサポートします。CNFS を削除しても、NAS ファイルシステムは削除されません。
parameters.server
NAS マウントターゲットの URL。
NAS ファイルシステムを表示します。
kubectl get cnfs期待される出力:
NAME AGE cnfs-nas-filesystem 6dNAS ファイルシステムの詳細を表示します。
kubectl get cnfs/cnfs-nas-filesystem -o yaml期待される出力:
NAS ボリュームに CNFS を適用します。詳細については、「方法 2: CNFS を使用してカスタム NAS ファイルシステムを作成する」の kubectl プロシージャのステップ 2 から ステップ 4 をご参照ください。
コンソール
CNFS を作成します。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[Container Network File System (CNFS)] ページで、[Container Network File System の作成] をクリックします。
[Container Network File System の作成] パネルで、パラメーターを設定し、[OK] をクリックします。
CNFS の名前を入力し、ファイルシステムを NAS に設定し、[既存の NAS を選択] を選択し、ドロップダウンリストから既存の NAS マウントターゲットを選択します。
説明必要に応じて [エンドツーエンドアクセラレーション] を有効にできます。この機能は、マウントにエラスティックアクセラレーションを使用します。詳細については、「CNFS NAS クライアントの分散キャッシュ機能を有効にする」をご参照ください。
NAS ボリュームに CNFS を適用します。詳細については、「方法 2: CNFS を使用してカスタム NAS ファイルシステムを作成する」のコンソールプロシージャのステップ 2 から ステップ 4 をご参照ください。
リファレンス
ノード上の NAS ストレージリソースを監視する方法の詳細については、「コンテナストレージモニタリングの概要」をご参照ください。