prod-01とprod-02という 2 つの異なる名前空間があります。私がやりたいのは、prod-01のコピーをprod-02名前空間に作成し、その pvc に同じ名前を付けて、維持する必要がないようにすることです。異なる名前空間ごとに 2 セットのグラフ。
これがどのように見えるかです:
$ kubectl get ns | grep prod
prod-01 Active 178d
prod-02 Active 8d
$
以下に示すように、名前空間ごとに 2 組の pv があります。
$ kubectl get pv -o wide | grep prod
prod-01-db-pv 50Gi RWX Retain Bound prod-01/app-db 164d
prod-01-nosql-db-pv 5Gi RWX Retain Bound prod-01/app-nosql-db 149d
prod-02-db-pv 50Gi RWX Retain Available prod-02/app-db 41m
prod-02-nosql-db-pv 5Gi RWX Retain Available prod-02/app-nosql-db 19m
$
prod-01の pvc がどのように表示されるかを次に示します。
$ kubectl get pvc --namespace=prod-01
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
app-db Bound prod-01-db-pv 50Gi RWX 164d
app-nosql-db Bound prod-01-nosql-db-pv 5Gi RWX 149d
$
そして、これが私が達成しようとしていることです:
$ kubectl get pvc --namespace=prod-02
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
app-db Pending prod-02-db-pv 0 2m
app-nosql-db Pending prod-02-nosql-db-pv 0 24m
$
上に示すように、 prod-02名前空間の PVCはPendingステータスで永久にスタックします。
prod-02の PVC 名を別の名前に変更すると、期待どおりに結合します。
これは、異なる名前空間にあり、異なる pv を指している場合でも、pvc で同じ名前を使用できないと考えるように導きます...しかし、ドキュメントを検索すると、この問題の証拠を見つけることができず、疑問に思っていました私が何かを逃すことができれば。
簡単に言えば、異なる名前空間で同じ名前の複数の pvc を使用できますか (それらが異なる pv を使用していることを考慮して)。
更新:の結果kubectl describe pvc
$ kubectl describe pvc app-db --namespace=prod-02
Name: app-db
Namespace: prod-02
StorageClass:
Status: Pending
Volume: prod-02-db-pv
Labels: <none>
Annotations: <none>
Finalizers: []
Capacity: 0
Access Modes:
Events: <none>
$
また、出力は次のkubectl get pvc
とおりです。
$ kubectl get pvc app-db --namespace=prod-02 -o yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: 2018-09-22T22:00:34Z
name: app-db
namespace: prod-02
resourceVersion: "43027607"
selfLink: /api/v1/namespaces/prod-02/persistentvolumeclaims/app-db
uid: ee81b951-beb2-11e8-b972-005056bbded7
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Gi
volumeName: prod-02-db-pv
status:
phase: Pending
$
また、PV の詳細も以下に示します。
$ kubectl get pv prod-02-db-pv --namespace=prod-02 -o yaml
apiVersion: v1
kind: PersistentVolume
metadata:
creationTimestamp: 2018-09-22T21:15:19Z
name: prod-02-db-pv
resourceVersion: "43020171"
selfLink: /api/v1/persistentvolumes/prod-02-db-pv
uid: 9c07d7a6-beac-11e8-b972-005056bbded7
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 50Gi
claimRef:
apiVersion: v1
kind: PersistentVolumeClaim
name: app-db
namespace: prod-02
nfs:
path: /nfs_server/prod02/db
server: 158.87.52.35
persistentVolumeReclaimPolicy: Retain
status:
phase: Available
$
助けてくれてありがとう!