すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:CNFSを使用したNASファイルシステムの管理

最終更新日:Oct 15, 2024

Container Network File System (CNFS) は、Alibaba Cloudファイルストア用にKubernetes CustomResourceDefinitions (CRD) を作成し、それらを個別に管理できます。 これらのCRDを作成、削除、記述、マウント、監視、および展開できます。 CNFSを使用してApsara File Storage NAS (NAS) ファイルシステムを個別に管理し、NASファイルシステムのパフォーマンスとサービス品質 (QoS) 制御を向上させることができます。 このトピックでは、CNFSを使用してNASファイルシステムを管理する方法と、CNFSを使用してボリュームをワークロードにマウントする方法について説明します。

前提条件

  • NASが有効化されています。

    あなたが初めて訪問するとき NASの製品ページで、画面の指示に従ってNASサービスを有効化します。

  • ACK Proクラスターが作成され、クラスターのKubernetesバージョンが1.20以降であること。 kubectlを介してCNFSを使用する場合、Kubernetes 1.20を実行するクラスターがサポートされます。 詳細については、「ACK管理クラスターの作成」をご参照ください。

  • csi-plugin、csi-provisioner、およびstorage-operatorコンポーネントが最新バージョンに更新されます。 コンポーネントの更新方法の詳細については、「コンポーネントの管理」をご参照ください。 CNFSを使用する場合、コンポーネントのバージョンは次の要件を満たす必要があります。

    • csi-pluginとcsi-provisionerのバージョンは1.20.5 ff6490f-aliyun以降です。

    • storage-operatorのバージョンは1.18.8.56-2aa33ba-aliyun以降です。 コンソールでCNFSを使用する場合、storage-operatorのバージョンは1.26.2-1de13b6-aliyun以降である必要があります。

  • kubectlを介してCNFSを使用する前に、kubectlを使用してクラスターに接続する必要があります。 詳細については、「クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続する」をご参照ください。

  • 容量NASファイルシステムとパフォーマンスNASファイルシステムがサポートされています。 Advanced NASファイルシステムとExtreme NASファイルシステムはサポートされていません。 Key Management Service (KMS) を使用してNASファイルシステムを暗号化する前に、KMSを有効化する必要があります。 詳細については、「専用KMSインスタンスの購入」をご参照ください。

概要

CNFSを使用して、次のいずれかの方法でNASファイルシステムを管理できます。

  • 方法1: CNFSを使用してデフォルトのNASファイルシステムを作成

    デフォルトのCNFSファイルシステムを作成し、動的にプロビジョニングされたNASボリュームを使用して、自動的に作成されたNASファイルシステムをマウントします。 次に、動的にプロビジョニングされたNASボリュームをDeploymentとStatefulSetに同時にマウントします。

  • 方法2: CNFSを使用してカスタムNASファイルシステムを作成

    CNFSを使用してカスタムNASファイルシステムを作成し、静的または動的にプロビジョニングされたNASボリュームを使用して作成したカスタムNASファイルシステムをマウントします。 次に、静的または動的にプロビジョニングされたNASボリュームをデプロイにマウントします。

  • 方法3: 既存のNASファイルシステムを使用したCNFSファイルシステムの作成

    CNFSを使用して既存のNASファイルシステムを設定し、静的または動的にプロビジョニングされたNASボリュームを使用して既存のNASファイルシステムをマウントします。 次に、静的または動的にプロビジョニングされたNASボリュームをデプロイにマウントします。

方法1: CNFSを使用してデフォルトのNASファイルシステムを作成する

重要

クラスターがデプロイされている仮想プライベートクラウド (VPC) にCapacity NASファイルシステムまたはPerformance NASファイルシステムを作成します。 Extreme NASファイルシステムはサポートされていません。 クラスターのリージョンがNAS CapacityタイプのNASファイルシステムをサポートしていない場合、NAS PerformanceタイプのNASファイルシステムが作成されます。 デフォルトでは、作成されたNASファイルシステムは暗号化されません。

kubectlを使う

次のテンプレートを使用して、デフォルトのCNFSファイルシステムを作成し、動的にプロビジョニングされたNASボリュームを作成してデフォルトのNASファイルシステムをマウントします。 次に、動的にプロビジョニングされたNASボリュームをDeploymentおよびStatefulSetにマウントします。

CNFS、StorageClasses、およびワークロードの作成に使用されるYAMLファイルの表示

# Create the following objects: a CNFS, a StorageClass, a Deployment, and a StatefulSet. 
cat << EOF | kubectl apply -f -
apiVersion: storage.alibabacloud.com/v1beta1
kind: ContainerNetworkFileSystem
metadata:
  name: cnfs-nas-filesystem
spec:
  description: "cnfs"
  type: nas
  reclaimPolicy: Retain # Only the Retain policy is supported. If the CNFS file system is deleted, the related NAS file system is retained. 
  parameters:
    encryptType: SSE-KMS # This parameter is optional. If you leave this parameter empty, the created NAS file system is not encrypted. A value of SSE-KMS indicates that the created NAS file system is encrypted by KMS. 
    enableTrashCan: "true" # This parameter is optional. If you leave this parameter empty, the recycle bin feature is disabled. A value of true indicates that the recycle bin feature is enabled. 
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: alibabacloud-cnfs-nas
mountOptions:
  - nolock,tcp,noresvport
  - vers=3
parameters:
  volumeAs: subpath
  containerNetworkFileSystem: cnfs-nas-filesystem
  path: "/"
provisioner: nasplugin.csi.alibabacloud.com
reclaimPolicy: Retain
allowVolumeExpansion: true # This parameter is optional. A value of true indicates that the NAS file system can be expanded. 
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: cnfs-nas-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: alibabacloud-cnfs-nas
  resources:
    requests:
      storage: 70Gi # If you enable the directory quota feature, the storage field takes effect. A value of 70Gi indicates that the maximum size of data that can be written into a dynamically created directory is 70 GiB. 
---
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: nginx:1.14.2
        volumeMounts:
        - mountPath: "/data"
          name: cnfs-nas-pvc
      volumes:
      - name: cnfs-nas-pvc
        persistentVolumeClaim:
          claimName: cnfs-nas-pvc
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: cnfs-nas-sts
  labels:
    app: nginx
spec:
  serviceName: "nginx"
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        volumeMounts:
        - mountPath: "/data"
          name: www
  volumeClaimTemplates:
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "alibabacloud-cnfs-nas"
      resources:
        requests:
          storage: 50Gi # If you enable the directory quota feature, the storage field takes effect. A value of 50Gi indicates that the maximum size of data that can be written into a dynamically created directory is 50 GiB. 
EOF

パラメーター

説明

説明

ファイルシステムの説明。

タイプ

作成するボリュームのタイプ。

reclaimPolicy

NASファイルシステムの再利用ポリシー。 [保持] ポリシーのみがサポートされています。 CNFSファイルシステムが削除された場合、関連するNASファイルシステムは保持されます。

parameters.encryptType

オプションです。 暗号化方法。

  • なし: NASファイルシステムは暗号化されていません。

  • SSE-KMS: NASサーバーでKMSを使用してデータを暗号化します。

パラメーター。enableTrashCan

ごみ箱機能を有効にするかどうかを指定します。

  • true: ごみ箱機能を有効にします。

  • false: ごみ箱機能を無効にします。

コンソールの使用

  1. CNFSファイルシステムを作成します。

    1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

    2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ボリューム] > [Container Network File System (CNFS)] を選択します。

    3. Container Network File System (CNFS) ページで、[CNFSファイルシステムの作成] をクリックします。

    4. [CNFSファイルシステムの作成] パネルでパラメーターを設定し、[OK] をクリックします。

      パラメーター

      説明

      名前

      CNFSファイルシステムの名前。

      cnfs-nas-filesystem

      ファイルシステムタイプの選択

      ホストするファイルシステムのタイプ。 NASとOSSがサポートされています。

      NAS

      必須

      デフォルトのNASファイルシステムを作成するか、既存のNASファイルシステムを選択できます。 既存のNASファイルシステムを選択した場合、既存のNASマウントターゲットを選択するか、カスタムNASファイルシステムを作成できます。

      [必須] は、[ファイルシステムタイプの選択][NAS] に設定されている場合にのみ表示されます。

      デフォルトのNASファイルシステムの作成

      説明

      CNFSファイルシステムの説明。

      CNFSを使用してデフォルトのNASファイルシステムを作成する

      エンドツーエンドのデータアクセラレーション

      エラスティックアクセラレーション機能を使用してファイルシステムをマウントするかどうかを指定します。 デフォルトでは、この機能は無効化されています。 エラスティックアクセラレーション機能の詳細については、「CNFSクライアントの分散キャッシュ機能の有効化」をご参照ください。

      無効

    5. Container Network File System (CNFS) ページで、CNFSファイルシステムの名前をクリックして、CNFSファイルシステムの詳細を表示します。 NAS IDの横にあるリンクをクリックして、ファイルシステムリストページに移動します。

    6. ファイルシステムリストページで、マウント使用 タブをクリックします。 [マウントターゲット] リストで、[マウントターゲット] 列のimage.pngアイコンの上にポインターを移動して、マウントターゲットを表示します。

  2. 動的StorageClassを作成します。

    1. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ボリューム] > [StorageClasses] を選択します。

    2. StorageClassesページの右上隅にある [作成] をクリックします。

    3. [作成] パネルでパラメーターを設定し、[作成] をクリックします。

      パラメーター

      説明

      名前

      StorageClassの名前。

      名前は小文字で始まる必要があり、小文字、数字、ピリオド (.) 、およびハイフン (-) のみを使用できます。

      alibabacloud-cnfs-nas

      PVタイプ

      有効な値: クラウドディスクおよびNAS

      NAS

      マウントターゲットの選択

      手順1で作成したデフォルトのNASファイルシステムのマウント対象に値を設定します。 マウントターゲットの表示方法の詳細については、「マウントターゲットの表示」をご参照ください。

      64888 ******-e ***** .cn-qingdao.nas.aliyuncs.com

      再利用ポリシー

      NASファイルシステムの再利用ポリシー。 [保持] ポリシーのみがサポートされています。 CNFSファイルシステムが削除された場合、関連するNASファイルシステムは保持されます。

      保持

      マウントオプション

      ネットワークファイルシステム (NFS) バージョンなどのマウントオプション。

      NFS v3の使用を推奨します。 Extreme NASファイルシステムはNFS v3のみをサポートします。 NFSプロトコルの詳細については、「NFS」をご参照ください。

      nolock、tcp、noresvport

      vers=3

      マウントパス

      NASファイルシステムのマウントパス。

      /

  3. 永続ボリュームクレーム (PVC) を作成します。

    1. 詳細ページの左側のナビゲーションウィンドウで、[ボリューム] > [ボリュームクレームの永続性] を選択します。

    2. 永続的なボリュームクレームページの右上隅に作成をクリックします。

    3. PVCの作成パネルで、パラメータを設定し、作成をクリックします。

      パラメーター

      説明

      PVCタイプ

      有効な値: Cloud Disk、NAS、およびOSS この例では、NASが選択されています。

      NAS

      名前

      PVCの名前。 名前はクラスター内で一意である必要があります。

      cnfs-nas-pvc

      割り当てモード

      ボリュームの割り当てモード。

      StorageClassの使用

      既存のストレージクラス

      選択をクリックします。 使用するPVを見つけて、[操作] 列の [選択] をクリックします。

      alibabacloud-cnfs-nas

      容量

      PVCが主張する容量。

      説明

      PVCによって要求される容量は、PVCに結合されるPVの容量を超えることはできない。

      70 Gi

      アクセスモード

      PVCのアクセスモード。 デフォルト値: ReadWriteMany ReadWriteOnceまたはReadOnlyManyを選択することもできます。

      ReadWriteMany

  4. PVCをアプリケーションに取り付けます。

    CNFSを使用して作成したNASファイルシステムをコンテナ内の /dataパスにマウントします。

    image

方法2: CNFSを使用してカスタムNASファイルシステムを作成する

kubectlを使う

CNFSを使用してカスタムNASファイルシステムを作成し、静的または動的にプロビジョニングされたNASボリュームを使用して作成したカスタムNASファイルシステムをマウントします。 次に、静的または動的にプロビジョニングされたNASボリュームをデプロイにマウントします。

  1. カスタムNASファイルシステムを作成します。

    1. 次のコマンドを実行して、カスタムファイルシステムを作成します。

      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

      パラメーター

      説明

      説明

      ファイルシステムの説明。

      タイプ

      作成するボリュームのタイプ。

      reclaimPolicy

      NASファイルシステムの再利用ポリシー。 [保持] ポリシーのみがサポートされています。 CNFSファイルシステムが削除された場合、関連するNASファイルシステムは保持されます。

      parameters.filesystemType

      ファイルシステムのタイプ。 デフォルト値: standard。 デフォルト値は、汎用NASタイプを示します。

      parameters.storageType

      ストレージタイプです。 filesystemTypestandardに設定した場合、有効な値はPerformanceCapacityです。

      parameters.protocolType

      NFSプロトコルが使用されます。 NFSv3のみがサポートされています。

      parameters.encryptType

      オプションです。 暗号化方法。

      • なし: NASファイルシステムは暗号化されていません。

      • SSE-KMS: NASサーバーでKMSを使用してデータを暗号化します。

      パラメーター。enableTrashCan

      ごみ箱機能を有効にするかどうかを指定します。

      • true: ごみ箱機能を有効にします。

      • false: ごみ箱機能を無効にします。

      パラメーター。trashCanReservedDays

      ごみ箱内のファイルが保持される最大日数。 デフォルト値 : 7 この例では、trashCanReservedDays: 5が使用されています。これは、ごみ箱内のファイルが最大5日間保持されることを示しています。

      parameters.vSwitchId

      作成されたNASファイルシステムで使用されるvSwitchのID。

    2. 次のコマンドを実行して、作成されたNASファイルシステムを照会します。

      kubectl get cnfs

      期待される出力:

      NAME                  AGE
      cnfs-nas-filesystem   6d
    3. 次のコマンドを実行して、NASファイルシステムの詳細を照会します。

      kubectl get cnfs/cnfs-nas-filesystem -o yaml

      期待される出力:

      期待出力の表示

      apiVersion: storage.alibabacloud.com/v1beta1
      kind: ContainerNetworkFileSystem
      metadata:
        annotations:
          kubectl.kubernetes.io/last-applied-configuration: |
            {"apiVersion":"storage.alibabacloud.com/v1beta1","kind":"ContainerNetworkFileSystem","metadata":{"annotations":{},"name":"cnfs-nas-filesystem"},"spec":{"description":"filesystem4","parameters":{"filesystemId":"17f7e4****","server":"17f7e4****-h****.cn-beijing.nas.aliyuncs.com"},"reclaimPolicy":"Retain","type":"nas"}}
        creationTimestamp: "2021-05-14T08:20:09Z"
        finalizers:
        - protection.alibabacloud.com/cnfs
        generation: 6
        name: cnfs-nas-filesystem
        resourceVersion: "122342382"
        uid: a9e9650c-68b2-405b-8274-0f5b6063****
      spec:
        description: "cnfs"
        type: nas
        reclaimPolicy: Retain
        parameters:
          filesystemType: standard
          storageType: Capacity
          protocolType: NFS
          encryptType: SSE-KMS
          vSwitchId: vsw-XXX
          enableTrashCan: "true"
      status:
        conditions:
        - lastProbeTime: "2021-05-14 16:20:15"
          reason: The nas filesystem and mount target complete initialization.
          status: Ready
        fsAttributes:
          accessGroupName: DEFAULT_VPC_GROUP_NAME
          encryptType: SSE-KMS
          enableTrashCan: "true"
          filesystemId: 17f7e48ece
          filesystemType: standard
          protocolType: NFS
          regionId: cn-beijing
          server: 17f7e48ece-h****.cn-beijing.nas.aliyuncs.com
          storageType: Capacity
          vSwitchId: vsw-2ze9l3ppwzg6bl02j****
          vpcId: vpc-2ze9sgmehjvwv5x74****
          zoneId: cn-beijing-h
        status: Available

      パラメーター

      説明

      status

      CNFSのステータス。 有効な値: Pending、Creating、Initialization、Available、Unavailable、Fatal、Terminating。

      conditions.lastProbeTime

      最後のプローブが送信された時刻。

      条件. reason

      現在の状態の理由。

      conditions.status

      ファイルシステムの準備ができているかどうかを示します。 有効な値: ReadyおよびNotReady。

      fsAttributes.accessGroupName

      マウントターゲットによって使用される権限グループの名前。 値をDEFAULT_VPC_GROUP_NAMEに設定します。 これは、VPCのデフォルトの権限グループを示します。

      fsAttributes.encryptType

      オプションです。 暗号化方法。

      • なし: NASファイルシステムは暗号化されていません。

      • SSE-KMS: NASサーバーでKMSを使用してデータを暗号化します。

      fsAttributes.enableTrashCan

      ごみ箱機能を有効にするかどうかを指定します。

      • true: ごみ箱機能を有効にします。

      • false: ごみ箱機能を無効にします。

      fsAttributes.filesystemId

      ファイルシステムの ID。

      fsAttributes.filesystemType

      ファイルシステムのタイプ。 デフォルト値: standard。 デフォルト値は、汎用NASタイプを示します。

      fsAttributes.protocolType

      ファイル転送プロトコル。 NFSがサポートされています。

      fsAttributes.regionId

      CNFSファイルシステムが属するリージョン。

      fsAttributes.server

      CNFSファイルシステムのマウントターゲットのドメイン名。

      fsAttributes.storageType

      ストレージタイプです。 filesystemTypestandardに設定した場合、有効な値はPerformanceCapacityです。

      fsAttributes.vSwitchId

      CNFSファイルシステムで使用されるvSwitch。

      fsAttributes.vpcId

      CNFSファイルシステムが属するVPC。

      fsAttributes.zoneId

      CNFSファイルシステムが属するゾーン。

  2. 静的にプロビジョニングされたPVまたは動的StorageClassを作成し、それをNASファイルシステムに関連付けます。

    • 静的にプロビジョニングされたPVを作成します。

      1. 次のテンプレートを使用して、静的にプロビジョニングされたPVを作成し、それをNASファイルシステムに関連付けます。

        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 # The value must be the same as the PV name. 
            volumeAttributes:
              containerNetworkFileSystem: cnfs-nas-filesystem
              path: "/"
          mountOptions:
            - nolock,tcp,noresvport
            - vers=3
        EOF

        パラメーター

        説明

        containerNetworkFileSystem

        使用するCNFSファイルシステムの名前。

        パス

        PVによって使用されるCNFSファイルシステムのパス。

      2. 次のコマンドを実行して、PVが作成されているかどうかを確認します。

        kubectl get pv

        期待される出力:

        NAME          CAPACITY   ACCESS MODES     RECLAIM POLICY   STATUS      CLAIM   STORAGECLASS   REASON   AGE
        cnfs-nas-pv   5Gi        RWX              Retain           Available                                   4s
    • 動的StorageClassを作成します。

      次のテンプレートを使用して、動的StorageClassを作成し、NASファイルシステムに関連付けます。

      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

  3. PVCを作成します。

    1. 次のテンプレートを使用して、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
  4. アプリケーションを作成します。

    1. 次のテンプレートを使用して、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: nginx:1.14.2
                ports:
                  - containerPort: 80
                volumeMounts:
                  - name: cnfs-nas-pvc
                    mountPath: "/data"
            volumes:
              - name: cnfs-nas-pvc
                persistentVolumeClaim:
                  claimName: cnfs-nas-pvc
      EOF
    2. 次のコマンドを実行して、アプリケーションのステータスを照会します。

      kubectl get pod

      期待される出力:

      NAME                             READY   STATUS    RESTARTS   AGE
      cnfs-nas-deployment-86959b****   1/1     Running   0          2s

      出力は、作成されたデプロイメントが実行状態であることを示しています。 これは、CNFSファイルシステムが配置によって使用されることを意味します。

コンソールの使用

  1. CNFSファイルシステムを作成します。

    1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

    2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ボリューム] > [Container Network File System (CNFS)] を選択します。

    3. Container Network File System (CNFS) ページで、[CNFSファイルシステムの作成] をクリックします。

    4. [CNFSファイルシステムの作成] パネルでパラメーターを設定し、[OK] をクリックします。

      パラメーター

      説明

      名前

      CNFSファイルシステムの名前。

      cnfs-nas-filesystem

      ファイルシステムタイプの選択

      ホストするファイルシステムのタイプ。 NASとOSSがサポートされています。

      NAS

      必須

      デフォルトのNASファイルシステムを作成するか、既存のNASファイルシステムを選択できます。 既存のNASファイルシステムを選択した場合、既存のNASマウントターゲットを選択するか、カスタムNASファイルシステムを作成できます。

      [必須] は、[ファイルシステムタイプの選択][NAS] に設定されている場合にのみ表示されます。

      既存のNASファイルシステムの選択

      NASファイルシステムの選択

      既存のNASマウントターゲットを選択するか、右側の [NASファイルシステムの作成] をクリックしてカスタムNASファイルシステムを作成します。

      このオプションは、[必須][既存のNASファイルシステムの選択] に設定されている場合にのみ表示されます。

      右側の [NASファイルシステムの作成] をクリックします。 汎用NASファイルシステムのみ作成できます。 詳細については、「NASコンソールでの汎用NASファイルシステムの作成」をご参照ください。

      説明

      CNFSファイルシステムの説明。

      CNFSを使用したカスタムNASファイルシステムの作成

      エンドツーエンドのデータアクセラレーション

      エラスティックアクセラレーション機能を使用してファイルシステムをマウントするかどうかを指定します。 デフォルトでは、この機能は無効化されています。 エラスティックアクセラレーション機能の詳細については、「CNFSクライアントの分散キャッシュ機能の有効化」をご参照ください。

      無効

  2. 静的にプロビジョニングされたPVまたは動的StorageClassを作成し、それをNASファイルシステムに関連付けます。

    • 静的にプロビジョニングされたPVを作成します。

      1. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ボリューム] > [ボリューム] を選択します。

      2. [ボリューム] ページの右上隅にある [作成] をクリックします。

      3. [Create PV] パネルでパラメーターを設定し、[OK] をクリックします。

        パラメーター

        説明

        PVタイプ

        有効な値: Cloud Disk、NAS、およびOSS この例では、NASが選択されています。

        NAS

        ボリューム名

        作成するPVの名前。 ボリューム名はクラスター内で一意である必要があります。

        cnfs-nas-pv

        容量

        PVCが主張する容量。 NASファイルシステムは無制限の容量を提供します。 このパラメーターは、NASファイルシステムのストレージ使用量を制限しませんが、PVの容量を定義します。

        5 Gi

        アクセスモード

        ReadWriteManyまたはReadWriteOnceを選択できます。 デフォルト値: ReadWriteMany

        ReadWriteMany

        CNFSの有効化

        CNFSを有効にします。 CNFSを有効にした後、次の操作を実行します。

        cnfs-nas-filesystem

        詳細オプションの表示

        • マウントパス: NASファイルシステムのマウントパス。 マウントパスは、ルートディレクトリを示すスラッシュ (/) で始まる必要があります。 このパラメーターを設定すると、PVは指定されたサブディレクトリにマウントされます。

          • 指定されたサブディレクトリが存在しない場合、システムは自動的にNASファイルシステムにサブディレクトリを作成し、サブディレクトリをクラスターにマウントします。

          • このパラメーターを設定しない場合、NASファイルシステムのルートディレクトリがマウントされます。

        • 再利用ポリシー: NASファイルシステムの再利用ポリシー。 [保持] ポリシーのみがサポートされています。

        • /

        • 保持

        ラベル

        PVにラベルを追加します。

        cnfs-nas-pv

    • 動的StorageClassを作成します。

      1. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[ボリューム] > [StorageClasses] を選択します。

      2. StorageClassesページの右上隅にある [作成] をクリックします。

      3. [作成] パネルでパラメーターを設定し、[作成] をクリックします。

        パラメーター

        説明

        名前

        StorageClassの名前。

        名前は小文字で始まる必要があり、小文字、数字、ピリオド (.) 、およびハイフン (-) のみを使用できます。

        alibabacloud-cnfs-nas

        PVタイプ

        有効な値: クラウドディスクおよびNAS

        NAS

        マウントターゲットの選択

        手順1で作成したデフォルトのNASファイルシステムのマウント対象に値を設定します。 マウントターゲットの表示方法の詳細については、「マウントターゲットの表示」をご参照ください。

        64888 ******-e ***** .cn-qingdao.nas.aliyuncs.com

        再利用ポリシー

        NASファイルシステムの再利用ポリシー。 [保持] ポリシーのみがサポートされています。 CNFSファイルシステムが削除された場合、関連するNASファイルシステムは保持されます。

        保持

        マウントオプション

        ネットワークファイルシステム (NFS) バージョンなどのマウントオプション。

        NFS v3の使用を推奨します。 Extreme NASファイルシステムはNFS v3のみをサポートします。 NFSプロトコルの詳細については、「NFS」をご参照ください。

        nolock、tcp、noresvport

        vers=3

        マウントパス

        NASファイルシステムのマウントパス。

        /

  3. 永続ボリュームクレーム (PVC) を作成します。

    1. 詳細ページの左側のナビゲーションウィンドウで、[ボリューム] > [ボリュームクレームの永続性] を選択します。

    2. 永続的なボリュームクレームページの右上隅に作成をクリックします。

    3. PVCの作成パネルで、パラメータを設定し、作成をクリックします。

      パラメーター

      説明

      PVCタイプ

      有効な値: Cloud Disk、NAS、およびOSS この例では、NASが選択されています。

      NAS

      名前

      PVCの名前。 名前はクラスター内で一意である必要があります。

      cnfs-nas-pvc

      割り当てモード

      ボリュームの割り当てモード。

      StorageClassの使用

      既存のストレージクラス

      選択をクリックします。 使用するPVを見つけて、[操作] 列の [選択] をクリックします。

      alibabacloud-cnfs-nas

      容量

      PVCが主張する容量。

      説明

      PVCによって要求される容量は、PVCに結合されるPVの容量を超えることはできない。

      70 Gi

      アクセスモード

      PVCのアクセスモード。 デフォルト値: ReadWriteMany ReadWriteOnceまたはReadOnlyManyを選択することもできます。

      ReadWriteMany

  4. PVCをアプリケーションに取り付けます。

    CNFSを使用して作成したNASファイルシステムをコンテナ内の /dataパスにマウントします。

    image

方法3: 既存のNASファイルシステムを使用してCNFSファイルシステムを作成する

kubectlを使う

CNFSを使用して既存のNASファイルシステムを設定し、静的または動的にプロビジョニングされたNASボリュームを使用して既存のNASファイルシステムをマウントします。 次に、静的または動的にプロビジョニングされたNASボリュームをデプロイにマウントします。

  1. 既存のNASファイルシステムを使用してCNFSファイルシステムを作成します。

    1. 次のテンプレートを使用して、既存のNASファイルシステムを使用してCNFSファイルシステムを作成します。

      # Load the existing NAS file system. 
      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

      パラメーター

      説明

      説明

      ファイルシステムの説明。

      タイプ

      作成するボリュームのタイプ。

      reclaimPolicy

      NASファイルシステムの再利用ポリシー。 [保持] ポリシーのみがサポートされています。 CNFSファイルシステムが削除された場合、関連するNASファイルシステムは保持されます。

      パラメーター。server

      NASファイルシステムのマウント対象のURL。

    2. 次のコマンドを実行して、NASファイルシステムを照会します。

      kubectl get cnfs

      期待される出力:

      NAME                  AGE
      cnfs-nas-filesystem   6d
    3. 次のコマンドを実行して、NASファイルシステムの詳細を照会します。

      kubectl get cnfs/cnfs-nas-filesystem -o yaml

      期待される出力:

      期待出力の表示

      apiVersion: storage.alibabacloud.com/v1beta1
      kind: ContainerNetworkFileSystem
      metadata:
        annotations:
          kubectl.kubernetes.io/last-applied-configuration: |
            {"apiVersion":"storage.alibabacloud.com/v1beta1","kind":"ContainerNetworkFileSystem","metadata":{"annotations":{},"name":"nas-load-mount-target"},"spec":{"description":"filesystem4","parameters":{"filesystemId":"17f7e4****","server":"17f7e48ece-h****.cn-beijing.nas.aliyuncs.com"},"reclaimPolicy":"Retain","type":"nas"}}
        creationTimestamp: "2021-05-14T08:20:09Z"
        finalizers:
        - protection.alibabacloud.com/cnfs
        generation: 6
        name: cnfs-nas-filesystem
        resourceVersion: "122342382"
        selfLink: /apis/storage.alibabacloud.com/v1beta1/containernetworkfilesystems/nas-load-mount-target
        uid: a9e9650c-68b2-405b-8274-0f5b6063****
      spec:
        description: cnfs
        parameters:
          server: 17f7e48ece-h****.cn-beijing.nas.aliyuncs.com
        reclaimPolicy: Retain
        type: nas
      status:
        conditions:
        - lastProbeTime: "2021-05-14 16:20:15"
          reason: The nas filesystem and mount target complete initialization.
          status: Ready
        fsAttributes:
          accessGroupName: DEFAULT_VPC_GROUP_NAME
          encryptType: None
          enableTrashCan: "true"
          filesystemId: 17f7e4****
          filesystemType: standard
          protocolType: NFS
          regionId: cn-beijing
          server: 17f7e48ece-h****.cn-beijing.nas.aliyuncs.com
          storageType: Capacity
          vSwitchId: vsw-2ze9l3ppwzg6bl02j****
          vpcId: vpc-2ze9sgmehjvwv5x74****
          zoneId: cn-beijing-h
        status: Available
  2. CNFSを使用してNASボリュームを作成します。 詳細については、「方法2: CNFSを使用してカスタムNASファイルシステムを作成する」の「手順2から手順4」をご参照ください。

コンソールの使用

  1. CNFSファイルシステムを作成します。

    1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

    2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のナビゲーションウィンドウで、[ボリューム] > [Container Network File System (CNFS)] を選択します。

    3. Container Network File System (CNFS) ページで、[CNFSファイルシステムの作成] をクリックします。

    4. [CNFSファイルシステムの作成] パネルでパラメーターを設定し、[OK] をクリックします。

      パラメーター

      説明

      名前

      CNFSファイルシステムの名前。

      cnfs-nas-filesystem

      ファイルシステムタイプの選択

      ホストするファイルシステムのタイプ。 NASとOSSがサポートされています。

      NAS

      必須

      デフォルトのNASファイルシステムを作成するか、既存のNASファイルシステムを選択できます。 既存のNASファイルシステムを選択した場合、既存のNASマウントターゲットを選択するか、カスタムNASファイルシステムを作成できます。

      [必須] は、[ファイルシステムタイプの選択][NAS] に設定されている場合にのみ表示されます。

      既存のNASファイルシステムの選択

      NASファイルシステムの選択

      既存のNASマウントターゲットを選択するか、右側の [NASファイルシステムの作成] をクリックしてカスタムNASファイルシステムを作成します。

      このオプションは、[必須][既存のNASファイルシステムの選択] に設定されている場合にのみ表示されます。

      既存のNASマウントターゲットを選択します。 マウントターゲットの表示方法の詳細については、「マウントターゲットの表示」をご参照ください。

      説明

      CNFSファイルシステムの説明。

      CNFSを使用したカスタムNASファイルシステムの作成

      エンドツーエンドのデータアクセラレーション

      エラスティックアクセラレーション機能を使用してファイルシステムをマウントするかどうかを指定します。 デフォルトでは、この機能は無効化されています。 エラスティックアクセラレーション機能の詳細については、「CNFSクライアントの分散キャッシュ機能の有効化」をご参照ください。

      無効

  2. CNFSを使用してNASボリュームを作成します。 詳細については、「方法2: CNFSを使用してカスタムNASファイルシステムを作成する」の「手順2から手順4」をご参照ください。

次のステップ

ノード側でNASリソースを監視する方法の詳細については、「NASファイルシステムモニタリングの例」をご参照ください。