Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ボリュームをプロビジョニングする

共同作成者 netapp-aruldeepa juliantap netapp-mwallis

設定したKubernetes StorageClassを使用してPVへのアクセスを要求するPersistentVolumeClaim(PVC)を作成します。その後、PVをポッドにマウントできます。

概要

https://kubernetes.io/docs/concepts/storage/persistent-volumes["PersistentVolumeClaim_"^](PVC)は、クラスタ上のPersistentVolumeへのアクセス要求です。

PVCは、特定のサイズまたはアクセスモードのストレージを要求するように設定できます。クラスタ管理者は、関連付けられているStorageClassを使用して、PersistentVolumeのサイズとアクセスモード(パフォーマンスやサービスレベルなど)以上を制御できます。

PVCを作成したら、ボリュームをポッドにマウントできます。

PVCの作成

手順
  1. PVC を作成します。

    kubectl create -f pvc.yaml
  2. PVCステータスを確認します。

    kubectl get pvc
NAME        STATUS  VOLUME     CAPACITY   ACCESS MODES  STORAGECLASS AGE
pvc-storage Bound   pv-name    1Gi        RWO                  5m
  1. ボリュームをポッドにマウントします。

    kubectl create -f pv-pod.yaml
    メモ 進捗状況は次を使用して監視できます。 kubectl get pod --watch
  2. ボリュームがマウントされていることを確認します。 /my/mount/path

    kubectl exec -it task-pv-pod -- df -h /my/mount/path
  3. ポッドを削除できるようになりました。Podアプリケーションは存在しなくなりますが、ボリュームは残ります。

    kubectl delete pod pv-pod

マニフェストの例

PersistentVolumeClaimサンプルマニフェスト

次に、基本的なPVC設定オプションの例を示します。

RWOアクセスを備えたPVC

次の例は、という名前のStorageClassに関連付けられた、RWOアクセスが設定された基本的なPVCを示しています。 basic-csi

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-storage
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: basic-csi
NVMe / TCP対応PVC

この例は、という名前のStorageClassに関連付けられたNVMe/TCPの基本的なPVCとRWOアクセスを示しています。 protection-gold

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san-nvme
spec:
accessModes:
  - ReadWriteOnce
resources:
  requests:
    storage: 300Mi
storageClassName: protection-gold
PODマニフェストのサンプル

次の例は、PVCをポッドに接続するための基本的な設定を示しています。

キホンセツテイ
kind: Pod
apiVersion: v1
metadata:
  name: pv-pod
spec:
  volumes:
    - name: storage
      persistentVolumeClaim:
       claimName: pvc-storage
  containers:
    - name: pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/my/mount/path"
          name: storage
NVMe/TCPの基本構成
apiVersion: v1
kind: Pod
metadata:
  name: pod-nginx
spec:
  volumes:
    - name: basic-pvc
      persistentVolumeClaim:
        claimName: pvc-san-nvme
  containers:
    - name: task-pv-container
      image: nginx
      volumeMounts:
        - mountPath: "/my/mount/path"
          name: basic-pvc

ストレージクラスとパラメータおよびパラメータとの連携によるTridentによるボリュームのプロビジョニング方法の詳細については PersistentVolumeClaim、を参照してください"Kubernetes オブジェクトと Trident オブジェクト"