ここでは、flexVolume ドライバーを使用して、Container Service for Kubernetes クラスターから Apsara File Storage NAS ファイルシステムにアクセスするために、ボリューム、静的永続ボリューム (PV)、または静的永続ボリュームクレーム (PVC) をマウントする方法について説明します。

始める前に

  1. Kubernetes クラスターが作成されていること。 詳細については、「Kubernetes クラスターの作成」をご参照ください。

    ご利用のクラスターが自己構築クラスターの場合、Alibaba Cloud flexVolume ドライバーをダウンロード、インストールします。

  2. 使用する flexVolume ドライバーのバージョンが v1.12.6.52-f6604e5-aliyun 以降であること。

    flexVolume ドライバーのバージョンが推奨バージョンよりも古い場合、ドライバーの更新を推奨します。 詳細については、「システムコンポーネントのアップグレード」をご参照ください。

  3. ファイルシステムが作成されていること。 詳細については、「ファイルシステム」をご参照ください。

    作成したファイルシステムと Kubernetes クラスターは同じゾーンに存在する必要があります。

  4. マウントターゲットが追加されていること。 詳細については、「マウントポイント」をご参照ください。

    マウントターゲットと Kubernetes クラスターは、同じ仮想プライベートクラウド (VPC) に存在する必要があります。

このタスクについて

Alibaba Cloud が提供する flexVolume ドライバーを使用すると、次の方法で Apsara File Storage NAS ファイルシステムにアクセスできます。
  • ボリュームのマウント
  • 静的 PV および PVC のマウント

ボリュームのマウント

nas-deploy.yaml ファイルを使用して、ポッドを作成します。
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: nas1
            mountPath: "/data"
      volumes:
      - name: "nas1"
        flexVolume:
          driver: "alicloud/nas"
          options:
            server: "0cd8b4a576-grs79.cn-hangzhou.nas.aliyuncs.com"
            path: "/k8s"
            vers: "3"
            options: "nolock,tcp,noresvport"
表 1. パラメーター
パラメーター 説明
server Apsara File Storage NAS ファイルシステムのマウントターゲット。
path Apsara File Storage NAS ファイルシステムのマウントされたディレクトリ。 サブディレクトリをボリュームとしてマウントできます。 Apsara File Storage NAS ファイルシステムにサブディレクトリが存在しない場合、システムは自動的にサブディレクトリを作成しマウントします。
vers Network File System (NFS) マウントプロトコルのバージョン番号。 バージョン 3 およびバージョン 4.0 がサポートされています。 推奨されるデフォルトのバージョンはバージョン 3 です。
mode マウントされたディレクトリへのアクセス権限。
  • ルートディレクトリがマウントされている場合は、mode パラメーターを設定できません。
  • Apsara File Storage NAS ファイルシステムに大量のデータが格納されている場合、ボリュームのマウントプロセスに長時間かかるか、失敗するおそれがあります。 このような場合、mode パラメーターを設定することは推奨されません。
options Apsara File Storage NAS ファイルシステムをマウントするためのオプション。 パラメーターを設定しない場合、V3 プロトコルのデフォルト値は nolock,tcp,noresvport、また V4.0 プロトコルは noresvport です。

静的 PV および PVC のマウント

  1. PV を作成します。

    YAML ファイルまたは Alibaba Cloud Container Service コンソールを使用して 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-uih75.cn-hangzhou.nas.aliyuncs.com"
            path: "/k8s"
            vers: "3"
            options: "nolock,tcp,noresvport"

      パラメーターについての詳細は、「表 1」をご参照ください。

    • Alibaba Cloud Container Service コンソールを使用して PV を作成。
      1. Container Service コンソールにログインします。
      2. [Container Service-Kubernetes] > [クラスター] > [ボリューム] の順に選びます。 対象となるクラスターを選択し、[作成] をクリックします。
      3. [ボリュームの作成] ダイアログボックス内で、関連するパラメーターを設定します。PV を作成
        パラメーター 説明
        ストレージタイプ NAS を選択します。
        ボリューム名 PV の名前。 クラスター内で一意である必要があります。 この例では、名前として pv-nas を使用します。
        容量 PV の容量。
        PV の容量はディスク容量を超えることはできません。
        アクセスモード アクセスモードのデフォルトは ReadWriteMany です。
        マウントポイントドメイン名 Apsara File Storage NAS ファイルシステムのマウントターゲット (例:file-system-id.region.nas.aliyuncs.com)。 このパラメーターは、ビジネス要件に基づいて設定できます。
        パス Apsara File Storage NAS ファイルシステムのサブディレクトリ。 ディレクトリはスラッシュ (/) で始める必要があります。 PV が作成されると、指定されたサブディレクトリが PV としてマウントされます。
        • サブディレクトリが Apsara File Storage NAS ファイルシステムのルートディレクトリに存在しない場合、システムによりサブディレクトリが自動作成されます。
        • このパラメーターの指定は必須ではありません。 デフォルトで Apsara File Storage NAS ファイルシステムのルートディレクトリがマウントされます。
        権限 マウントされたディレクトリへのアクセス権限。 たとえば、このパラメーターは 755、644 または 777 に設定できます。
        • [権限] パラメーターは、サブディレクトリが PV としてマウントされている場合にのみ設定できます。
        • このパラメーターの指定は必須ではありません。 デフォルトのアクセス権は、Apsara File Storage NAS ファイルシステムの元の値が設定されます。
        • Apsara File Storage NAS ファイルシステムに大量のデータが格納されている場合、ボリュームのマウントプロセスに長時間かかるか、失敗するおそれがあります。 この場合、このパラメーターを設定することは推奨されません。
        バージョン Network File System (NFS) マウントプロトコルのバージョン番号。 バージョン 3 およびバージョン 4.0 がサポートされています。 推奨かつデフォルトのバージョンは 3 です。
        ラベル PV のラベル。
      4. パラメーター設定後、[作成] をクリックします。
  2. nas-pvc.yaml ファイルを使用して、PVC を作成します。
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nas
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: nas
      resources:
        requests:
          storage: 5Gi
  3. nas-pod.yaml ファイルを使用して、ポッドを作成します。
    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