いくつかのタンパク質データベース(HHsearch、BLAST、PDBなど)のミラーを含むディスクイメージがあります。これはCIツールを使用して構築し、GCEディスクに書き込んで実行しますに対して。このReadOnlyMany
PVにPods
のReplicationControllers
という名前で複数のネームスペースでアクセスしたいのですが、予想される結果が得られません。複数の名前空間でReadOnlyManyクレームを持つGKE ReadOnlyMany永続ボリューム
PersistentVolumeの設定は次のようになります。
apiVersion: v1
kind: PersistentVolume
metadata:
name: "databases"
spec:
capacity:
storage: 500Gi
accessModes:
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain
gcePersistentDisk:
pdName: "databases-us-central1-b-kube"
fsType: "ext4"
kubernetesにロードされたときの外観。
$ kubectl describe pv
Name: databases
Labels: <none>
Status: Bound
Claim: production/databases
Reclaim Policy: Retain
Access Modes: ROX
Capacity: 500Gi
Message:
Source:
Type: GCEPersistentDisk (a Persistent Disk resource in Google Compute Engine)
PDName: databases-us-central1-b-kube
FSType: ext4
Partition: 0
ReadOnly: false
PVCコンフィギュレーションはすべて同じで、次のようになります。
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: databases
spec:
accessModes:
- ReadOnlyMany
resources:
requests:
storage:
volumeName: databases
そして、PVC
は、システム内で見たものです。私は生産のRCの1-> 2(1つのポッドがはPVをバインドするために管理しなかった場合)、第二ポッドを拡大縮小すると
$ for ns in {development,staging,production}; do kubectl describe --namespace=$ns pvc; done
Name: databases
Namespace: development
Status: Pending
Volume: databases
Labels: <none>
Capacity: 0
Access Modes:
Name: databases
Namespace: staging
Status: Pending
Volume: databases
Labels: <none>
Capacity: 0
Access Modes:
Name: databases
Namespace: production
Status: Bound
Volume: databases
Labels: <none>
Capacity: 0
Access Modes:
私は$ kubectl get events --all-namespaces
を行うtimeout expired waiting for volumes to attach/mount for pod "mypod-anid""[namespace]". list of unattached/unmounted volumes=[databases]
の多くを見ています同じPVCをマウントできません。同じPersistentVolume
にバックアップされている第2のReplicationController
とPersistentVolumeClaim
を私のプロダクションネームスペースに作成すると(これはpvが正常にマウントされたポッドであることを思い出してください)、2番目のPod/PVCはバインドできません。
何か不足していますか?実際にはどうすれば ROX PersistentVolume
とPersistentVolumeClaim
を使用するのですか?