Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

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

共同作成者 netapp-aruldeepa

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

概要

あ "永続ボリュームクレーム"(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

この例では、RWOアクセスを持つ基本的なPVCが、StorageClassに関連付けられています。 basic-csi 。

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: pvc-storage
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
  storageClassName: basic-csi
NVMe/TCP を使用した PVC

この例では、RWOアクセスを持つNVMe/TCPの基本的なPVCを示しており、これはStorageClassに関連付けられています。 protection-gold 。

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

これらの例は、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

参照"KubernetesとTridentオブジェクト"ストレージクラスがどのように相互作用するかの詳細については、 PersistentVolumeClaim Trident がボリュームをプロビジョニングする方法を制御するためのパラメータ。