Dynamic Volume Provisioning
3995 ワード
個人ブログのアドレス:https://www.huweihuang.com/kubernetes-notes/storage/dynamic-provisioning.html
Dynamic Volume Provisioning
ディスククラスストレージ SSDクラスストレージ
PVCオブジェクトを作成し、
PVCを使用すると自動的に対応する外部ストレージが作成され、PVCが削除されると自動的に外部ストレージが破棄(またはバックアップ)されます.
対応する APIサーバで デフォルトの
参考記事: https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/
Dynamic Volume Provisioning
Dynamic volume provisioningでは、ストレージボリュームを必要に応じて自動的に作成できます.これにより、ストレージの複雑さや違いに関心を持つ必要がなくなり、異なるストレージタイプを選択できます.
1.Dynamic Provisioningをオンにする
StorageClass
オブジェクトを事前に作成する必要があります.StorageClass
では、どのprovisioner
が使用され、provisioner
が呼び出されたときにどのパラメータが入力されるかが定義されています.具体的には、StorageClass
を参照してください.
例:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: slow
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-standard
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast
provisioner: kubernetes.io/gce-pd
parameters:
type: pd-ssd
2.Dynamic Provisioningの使用
PVCオブジェクトを作成し、
storageClassName
フィールドに使用するStorageClass
の名前を指定します.たとえば、次のようになります.apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: claim1
spec:
accessModes:
- ReadWriteOnce
storageClassName: fast
resources:
requests:
storage: 30Gi
PVCを使用すると自動的に対応する外部ストレージが作成され、PVCが削除されると自動的に外部ストレージが破棄(またはバックアップ)されます.
3.デフォルトのStorageClass
対応する
StorageClass
の構成がない場合、デフォルトのStorageClass
を設定できます.以下の操作が必要です.DefaultStorageClass
admission controllerをオンにします.StorageClass
オブジェクトを設定します.storageclass.kubernetes.io/is-default-class
注釈を追加することによって、あるStorageClass
をデフォルトのStorageClass
に設定することができる.ユーザがPersistentVolumeClaim
を作成したが、storageClassName
が指定されていない場合、PVCのstorageClassName
は、デフォルトのStorageClass
に自動的に向けられる.参考記事: