我有两个不同的命名空间:prod-01和prod-02。我的目标是将我的prod-01构建成prod-02命名空间的副本,并保持其pvc的相同名称,以便我不必为每个不同的命名空间维护两套图表。
以下是示例:
如下所示,每个命名空间都有两对pv:
这是关于 prod-01 的 PVC 显示方式: 的显示如下:
如上所示,prod-02 命名空间的 PVC 永远处于 Pending 状态。当我将 prod-02 上的 PVC 名称更改为任何其他名称时,它们按预期连接。
更新:
以下是示例:
$ kubectl get ns | grep prod
prod-01 Active 178d
prod-02 Active 8d
$
如下所示,每个命名空间都有两对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
$
感谢您提前的帮助!
以下是关于IT技术的翻译内容:
kubectl describe pvc app-db --namespace=prod-02
看到了什么? - Rico