ここでは、永続ボリューム (PV) と永続ボリュームクレーム (PVC) を作成して、静的 Alibaba Cloud NAS (Network Aattathced Storage) ボリュームを使用する方法について説明します。

始める前に

  • 静的 NAS ボリュームが作成されていること。 詳細については、「ファイルシステム」をご参照ください。
  • NAS マウントポイントが作成されていること。 詳細については、「マウントポイント」をご参照ください。

    NAS マウントポイントは、クラスターノードと同じ VPC (Virtual Private Cloud) にある必要があります。

PV および PVC の作成

次のサンプル YAML ファイルは、PV と PVC を作成する方法を示しています。

apiVersion: v1
kind: PersistentVolume
metadata:
  name: pv-nas
  labels:
    alicloud-pvname: pv-nas
spec:
  capacity:
    storage: 5Gi
  accessModes:
    - ReadWriteMany
  csi:
    driver: nasplugin.csi.alibabacloud.com
    volumeHandle: pv-nas
    volumeAttributes:
      server: "2564f49129-ysu87.cn-shenzhen.nas.aliyuncs.com"
      path: "/csi"
      vers: "3"
      options: "noresvport,nolock"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-nas
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 5Gi
  selector:
    matchLabels:
      alicloud-pvname: pv-nas
  • driver: ドライバーの種類。 この例では、このパラメーターを nasplugin.csi.alibabacloud.com に設定し、Alibaba Cloud NAS CSI プラグインが使用されていることを示しています。
  • volumeHandle: PV名。
  • host: NAS マウントポイント。
  • path: マウントするサブディレクトリ。
  • vers: ターゲット NAS バージョン。
  • mode: マウントされるディレクトリのアクセス権限。

アプリケーションの作成

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-hpa
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        volumeMounts:
          - name: disk-pvc
            mountPath: "/data"
      volumes:
        - name: disk-pvc
          persistentVolumeClaim:
            claimName: nas-pvc