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

Container Service for Kubernetes:静的にプロビジョニングされたディスクボリュームのマウント

最終更新日:Nov 14, 2024

このトピックでは、永続ボリューム (PV) と永続ボリューム要求 (PVC) を使用して静的にプロビジョニングされたディスクボリュームをマウントする方法について説明します。

前提条件

ディスクをボリュームとしてマウントするには、まずElastic Compute Service (ECS) コンソールでディスクを作成する必要があります。 詳細については、「空のデータディスクの作成」をご参照ください。

PVとPVCを使用して静的にプロビジョニングされたディスクボリュームをマウントする

  1. ディスクタイプのPVを作成します。

    Container Service for Kubernetes (ACK) コンソールで、またはYAMLファイルを使用して、ディスクタイプのPVを作成できます。

    • YAM ファイルによる PV の作成

      1. 次のテンプレートを使用して、disk-pv.yamlという名前のファイルを作成します:

        apiVersion: v1
        kind: PersistentVolume
        metadata:
          name: d-bp1j17ifxfasvts3****
          labels:
            failure-domain.beta.kubernetes.io/zone: cn-hangzhou-b
            failure-domain.beta.kubernetes.io/region: cn-hangzhou
        spec:
          capacity:
            storage: 20Gi
          storageClassName: disk
          accessModes:
            - ReadWriteOnce
          flexVolume:
            driver: "alicloud/disk"
            fsType: "ext4"
            options:
              volumeId: "d-bp1j17ifxfasvts3****"
        説明

        PVの名前は、volumeIdで指定されたディスクIDと同じである必要があります。

      2. 次のコマンドを実行してPVを作成します。

        kubectl apply -f disk-pv.yaml
    • ACKコンソールでPVを作成します。

      1. ACK コンソールにログインします。

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

      3. [クラスター] ページで、管理するクラスターを見つけます。 次に、クラスターの名前をクリックするか、[操作] 列の [詳細] をクリックします。

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

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

      6. [PVの作成] ダイアログボックスで、パラメーターを設定します。

        パラメーター

        説明

        PVタイプ

        この例では、[クラウドディスク] が選択されています。

        ボリュームプラグイン

        この例では、Flexvolumeが選択されています。

        アクセスモード

        デフォルトでは、このパラメーターはReadWriteOnceに設定されています。

        ディスクID

        クラスターと同じリージョンとゾーンにデプロイされているマウント可能なディスクを選択します。

        ファイルシステムタイプ

        ディスクのファイルシステムタイプを選択します。 有効な値: ext4ext3xfs、およびvfat。 デフォルト値: ext4

        ラベル

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

      7. 設定が完了したら、[作成] をクリックします。

  2. PVCを作成します。

    1. 次のテンプレートを使用して、disk-pvc.yamlという名前のファイルを作成します。

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: pvc-disk
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: disk
        resources:
          requests:
            storage: 20Gi
    2. 次のコマンドを実行してPVCを作成します。

      kubectl apply -f disk-pvc.yaml
  3. ポッドを作成します。

    1. 次のテンプレートを使用して、disk-pod.yamlという名前のファイルを作成します。

      apiVersion: v1
      kind: Service
      metadata:
        name: nginx
        labels:
          app: nginx
      spec:
        ports:
        - port: 80
          name: web
        clusterIP: None
        selector:
          app: nginx
      ---
      apiVersion: apps/v1
      kind: StatefulSet
      metadata:
        name: web
      spec:
        selector:
          matchLabels:
            app: nginx
        serviceName: "nginx"
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: nginx
              ports:
              - containerPort: 80
                name: web
              volumeMounts:
              - name: pvc-disk
                mountPath: /data
            volumes:
              - name: pvc-disk
                persistentVolumeClaim:
                  claimName: pvc-disk
    2. 次のコマンドを実行してポッドを作成します。

      kubectl apply -f disk-pod.yaml