同じボリュームに対してNFSとPVCを使用して物理ボリュームを作成しました。ただし、PVCは常にPVにバインドする代わりにEBSディスクストレージを作成します。以下のログを参照してください。Kubernetes - PVCがNFS PVをバインドしていない
> kubectl get pv
NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM STORAGECLASS REASON AGE
mynfspv 100Gi RWX Retain Available 7s
今
> kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESSMODES STORAGECLASS AGE
mynfspvc Bound pvc-a081c470-3f23-11e7-9d30-024e42ef6b60 100Gi RWX default 4s
> kubectl get pv
NAME CAPACITY ACCESSMODES RECLAIMPOLICY STATUS CLAIM STORAGECLASS REASON AGE
mynfspv 100Gi RWX Retain Available 50s
pvc-a081c470-3f23-11e7-9d30-024e42ef6b60 100Gi RWX Delete Bound default/mynfspvc default 17s
をPVCを作成し、NFS-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mynfspv
labels:
name: nfs2
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
server: dbc56.efs.us-west-2.amazonaws.com
path:/
のnfs-pvc.yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: mynfspvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
私はPVとPVCの両方にstorageClassNameを追加するだけで問題を尋ねたので、うまくいきました。しかし、あなたが提案したようにストレージクラス自体を追加しませんでした。簡単に言えば、システムにはデフォルトのaws-ebsというストレージクラスが1つしかありません。 PVとPVCにstorageClassName属性を追加することで、私はそれを働かせました。私はドキュメントに基づいて混乱しています。ここには例があります - https://docs.openshift.org/latest/install_config/persistent_storage/persistent_storage_glusterfs.htmlこれはGlusterFSを使用しますが、storageClassNameはPVまたはPVCに設定されていません。私はこれがどのように機能するのだろうか。 – khuss
私はいつもPV/PVCと一緒に保管庫を使用していますが、保管庫なしでPV/PVCをバインドすることは可能です。私はそれもどちらも文書化されているとは思わない。私は、このセットアップは推奨されたアプローチではないためだと思います。どのようにstorageclassとPV/PVCバインディングが機能するかを完全に理解するために、私は真実のためにソースを調べることをお勧めします:) PVを見つける:https://github.com/kubernetes/kubernetes/blob/755d368c4a2865f3572f7eacfcedd252776227ee/pkg/controller/volume/persistentvolume /index.go#L73 プラグイン: https://github.com/kubernetes/kubernetes/blob/master/plugin/pkg/admission/storageclass/default/admission.go#L80 – ddysher
これは私が遭遇した、まさにですk8s 1.7。私は、動作していなかったPVCとPVを削除してから、PVCにフックしようとしていたすべてのポッドを削除してから、PVとPVCを再作成する必要があることに言及することは重要です。 PVCがPVにロックをかける前にこのサイクルを2-3回繰り返さなければならなかったので、2回以上ヒットするようにしてください。 – Stephan